Пустое скрытое поле с флажком в Asp.net MVC 2 - PullRequest
1 голос
/ 11 декабря 2010

Когда я создаю Html.CheckBox () в Asp.net MVC 2, мне интересно, есть ли скрытое поле с этим флажком, когда я просматриваю его html, откуда это скрытое поле и какова его цель? 1001 *

1 Ответ

4 голосов
/ 11 декабря 2010

Из комментария в ASP.NET MVC исходный код :

if (inputType == InputType.CheckBox) {
    // Render an additional <input type="hidden".../> for checkboxes. This
    // addresses scenarios where unchecked checkboxes are not sent in the request.
    // Sending a hidden input makes it possible to know that the checkbox was present
    // on the page when the request was submitted.
    StringBuilder inputItemBuilder = new StringBuilder();
    inputItemBuilder.Append(tagBuilder.ToString(TagRenderMode.SelfClosing));

    TagBuilder hiddenInput = new TagBuilder("input");
    hiddenInput.MergeAttribute("type", HtmlHelper.GetInputTypeString(InputType.Hidden));
    hiddenInput.MergeAttribute("name", name);
    hiddenInput.MergeAttribute("value", "false");
    inputItemBuilder.Append(hiddenInput.ToString(TagRenderMode.SelfClosing));
    return inputItemBuilder.ToString();
}

Например, если пользователь не проверяет значение, на сервер ничего не отправляется, поэтому, если вы связываетесь с какой-либо моделью представления в своем действии публикации, никакого значения не будет. Скрытое поле отправляет значение false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...