Как добавить скрытое поле в элементе формы на главной странице - PullRequest
4 голосов
/ 19 января 2011

Я хочу добавить скрытое поле для каждого просмотра через jquery или javascript. Но я хочу, чтобы этот код был в MasterPage.Master, поэтому я пишу код в одном месте, и он добавляется к каждому представлению, которое у меня есть. Могу ли я сделать это, если да, то как? Я использую asp.net MVC 2

Ответы [ 2 ]

18 голосов
/ 19 января 2011

В вашем мастере:

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

или замените $('body') другим селектором для заполнителя, который вы поместили где-то на главной странице, если хотите, чтобы это скрытое поле было вставлено в определенную позицию. Вы также можете вставить его в существующий <form>, указав им некоторый идентификатор или класс (если у вас их больше на одной странице и вы хотите вставить это скрытое поле в каждую форму).

0 голосов
/ 19 января 2011

Не уверен насчет MVC, но в методе мастер-страницы Page_PreRender может быть такой код:

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

Это приведет к тому, что скрытое поле будет перемещено в форму независимо от того, какая страница использует мастер-страницу.

...