MVC3 Html Скрытый лимит размера?

Есть ли ограничение по размеру, которое может принять HTML.Hidden? У меня есть следующий код, который работает, когда я только ставлю ViewData["key"]="12345", но когда "12345 - это слишком много данных, поле html пусто.

 @Html.Hidden("hid" + param.Parameter.Name, ViewData["hid"+param.Parameter.Name])

И когда я добавляю ViewData ["hid" + param.Parameter.Name] в функцию javascript для оповещения о значениях, появляется вся строка.

С уважением

1 ответ

Решение

Если вы используете глагол HTTP POST для отправки формы, ограничение контролируется maxRequestLength атрибут <httpRuntime> элемент в вашем web.config. Значение по умолчанию составляет 4096 КБ:

<httpRuntime maxRequestLength="4096" />

Пример:

@using (Html.BeginForm())
{
    @Html.Hidden("hid", string.Join("", Enumerable.Range(1, 40000).Select(x => "a")))
    <button type="submit">OK</button>
}

успешно загрузил все 40K a на сервер.

С другой стороны, если вы используете глагол HTTP GET для отправки формы, то, поскольку значения отправляются в строке запроса, будет ограничение. Это ограничение будет варьироваться в разных браузерах. IIRC было около 4K в IE.

Другие вопросы по тегам