Je suis en train d'enregistrer "Instruction" dans la vue CreateInstruction. Cette vue a une vue partielle "CreateInstnAttribute" qui enregistre les "Attributs" liés à cette Instruction. Il nécessite l'InstnID en tant que clé étrangère. L'instruction est enregistrée en utilisant JQuery pour éviter la publication. Alors, comment puis-je obtenir le InstInID pour enregistrer le InstnAttribute? J'ai essayé HiddenField pour enregistrer InstnId mais je ne suis pas capable de recevoir la valeur là. Peut-on utiliser viewdata directement dans JQuery? Toute aide sera appréciable.Comment accéder à viewdata à partir de JQuery sans utiliser de champ caché?
Répondre
Si votre jQuery est défini dans le balisage (fichier .aspx), vous pouvez accéder aux données de vue en affectant une variable à sa valeur comme suit.
var myValue = "<%= ViewData["MyValue"] %>";
alert(myValue);
L'appel d'alerte est juste pour montrer que vous l'avez. Évidemment, vous pouvez l'utiliser comme vous le souhaitez.
Tous mes PartialViews comme celui que vous parlez suivent la même base:
ils viennent un peu plus complexe, mais qui a été la base j'ai commencé avec, et vous obtiendrez tout fonctionne en un rien de temps!
Vous devez passer l'identificateur d'instance dans la vue partielle et y accéder à l'intérieur de la vue partielle. Le meilleur moyen est de créer un AttributeViewModel (qui contiendrait l'InstID) et de le passer dans la vue partielle.
jQuery peut y accéder en utilisant le code en ligne comme:
var InstID = "<%= Model.InstID %>"
//make the jQuery postback call here using InstID
essayer ce code
var fieldid = JSON.parse('@Html.Raw(Json.Encode(ViewData["fieldid"]))');
non, vous ne pouvez pas utiliser directement vidéotex. essayez d'utiliser des cookies alors, je sais que c'est une mauvaise idée. –