4

我想通过 jquery 或 javascript 向我拥有的每个视图添加隐藏字段。但是我希望该代码位于 MasterPage.Master 中,因此我在一个地方编写代码,它会添加到我拥有的每个视图中。如果可以,我可以这样做吗?我使用 asp.net mvc 2

4

2 回答 2

18

在你的主人:

$(function() {
    $('body').append(
        $('<input/>')
            .attr('type', 'hidden')
            .attr('name', 'foo')
            .val('some value')
    );
});

或者如果您希望将此隐藏字段插入某个特定位置,则将其替换$('body')为您放置在母版页中某处的占位符。您还可以通过给它们一些 id 或类将其插入现有<form>的(如果您在同一页面上有更多它们并且您想在每个表单中插入此隐藏字段)。

于 2011-01-19T08:42:51.060 回答
0

不确定 MVC,但在母版页Page_PreRender方法中,您可以拥有这样的代码:

HiddenField field = new HiddenField();
field.ID = "HiddenField1";
field.Value = "SomeValue";
(this.Page.FindControl("form1") as HtmlForm).Controls.Add(field);

无论哪个页面正在使用母版页,这都会将隐藏字段推送到表单。

于 2011-01-19T08:15:31.837 回答