我想通过jquery或javascript为每个视图添加隐藏字段。但我希望代码在MasterPage.Master中,所以我在一个地方编写代码,它添加了我的每个视图。如果是,那我可以这样做吗?我正在使用asp.net mvc 2
答案 0 :(得分:18)
在你的主人:
$(function() {
$('body').append(
$('<input/>')
.attr('type', 'hidden')
.attr('name', 'foo')
.val('some value')
);
});
如果您希望将此隐藏字段插入某个特定位置,请使用其他选择器将$('body')
替换为您放置在母版页中某个位置的占位符。你也可以通过给它们一些id或类(如果你在同一页面上有更多它们并且你想在每个表单中插入这个隐藏字段)将它插入到现有的<form>
中。
答案 1 :(得分:0)
不确定MVC,但在母版页Page_PreRender
方法中,您可以使用此类代码:
HiddenField field = new HiddenField();
field.ID = "HiddenField1";
field.Value = "SomeValue";
(this.Page.FindControl("form1") as HtmlForm).Controls.Add(field);
无论使用母版页的页面是什么,这都会将隐藏字段推送到表单。