如何在不使用隐藏字段的情况下从JQuery访问viewdata?

时间:2010-11-20 05:55:12

标签: jquery asp.net-mvc viewdata

我在CreateInstruction视图中保存“指令”。此视图具有部分视图“CreateInstnAttribute”,用于保存与此指令相关的“属性”。它需要InstnID作为外键。使用JQuery保存指令以避免回发。那么如何让InstnID保存InstnAttribute呢?我尝试使用HiddenField来保存InstnId,但我无法在那里收到值。我们可以直接在JQuery中使用viewdata吗?任何帮助都会很明显。

4 个答案:

答案 0 :(得分:3)

如果您的jQuery是在标记(.aspx文件)中定义的,则可以通过为其值赋值来访问视图数据,如下所示。

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

警报电话只是为了表明你拥有它。显然你可以按照自己的意愿使用它。

答案 1 :(得分:1)

您需要在PartialView中传递InstId并在PartialView中访问它。最好的方法是创建一个AttributeViewModel(包含InstID)并将其传递给局部视图。

jQuery可以使用内联代码访问它:

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

答案 2 :(得分:1)

试试这段代码

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

答案 3 :(得分:0)

我正在谈论的所有部分视图都遵循相同的基础:

this cool article:)

它们变得有点复杂,但这是我开始的基础,你马上就能完成所有工作!