2010-11-20 3 views
0

Ich speichere "Anweisung" in der CreateInstruction-Ansicht. Diese Ansicht enthält eine Teilansicht "CreateInstnAttribute", die "Attribute" speichert, die sich auf diese Anweisung beziehen. Es erfordert die Instanz ID als Fremdschlüssel. Die Anweisung wird mit JQuery gespeichert, um Postback zu vermeiden. Wie kann ich die InstnID dazu bringen, das InstnAttribute zu speichern? Ich habe HiddenField versucht, um InstnId zu speichern, aber ich kann den Wert dort nicht empfangen. Können wir ViewData direkt in JQuery verwenden? Jede Hilfe wird spürbar sein.Wie kann ich von JQuery aus auf Viewdata zugreifen, ohne ein verstecktes Feld zu verwenden?

+0

nicht, können Sie nicht Bildschirmtextsystem direkt verwenden. versuchen Sie es mit Cookies, dann weiß ich, es ist eine schlechte Idee. –

Antwort

3

Wenn Ihre jQuery in der Markup-Datei (.aspx-Datei) definiert ist, können Sie auf die Ansichtsdaten zugreifen, indem Sie ihrem Wert eine Variable wie folgt zuweisen.

var myValue = "<%= ViewData["MyValue"] %>"; 
alert(myValue); 

Der Warnungsaufruf soll nur zeigen, dass Sie ihn haben. Natürlich können Sie es verwenden, wie Sie es wünschen.

0

Alle meine PartialViews wie die, die Sie die gleiche Basis sprechen werden folgen:

this cool article :)

sie kommen ein wenig komplizierter, aber das war die Basis ich begonnen, und Sie erhalten Alles funktioniert in kürzester Zeit!

1

Sie müssen die InstId in der PartialView übergeben und darauf in der PartialView zugreifen. Der beste Weg besteht darin, ein AttributeViewModel (das die InstID enthält) zu erstellen und es in der Teilansicht zu übergeben.

jQuery kann es Inline-Code zugreifen, wie:

var InstID = "<%= Model.InstID %>" 
//make the jQuery postback call here using InstID 
1

versuchen diesen Code

var fieldid = JSON.parse('@Html.Raw(Json.Encode(ViewData["fieldid"]))'); 
Verwandte Themen