【发布时间】:2010-11-25 17:17:20
【问题描述】:
我正在使用 ASP.NET MVC 制作网页。 我有以下隐藏定义的输入:
<%=Html.Hidden("inputHiddenSelectedMenuId") %>
我在这个js函数中设置了它的值:
function SetSelectedMenu(id) {
$('#inputHiddenSelectedMenuId').val(id);
}
在 js init 函数中进行回发后,我想使用隐藏输入中设置的值,但该值为空字符串。
$(document).ready(function() {
$('div.nav > a').removeClass('active');
var id = $('#inputHiddenSelectedMenuId').val();
if (id != "") {
$("#" + id).addClass('active');
}
});
谁能提示一下为什么会这样?
【问题讨论】:
-
MVC 不支持回发。这可能是问题的原因吗?您使用的是哪一个 - WebForms 或 MVC?
-
当然可以。回发是一种标准的 HTML 操作。回发不是 Web 表单独有的。不同之处在于 Web 表单回发包含一个名为 viewstate 的隐藏字段,该字段允许数据在回发中保持不变。此外,我相信他正在尝试在 javascript 回发后读取数据。看我的回答。
-
是否有理由在回发时重置该字段(在您的代码中)
标签: javascript asp.net html asp.net-mvc hidden-field