MVC3 Html Скрытый лимит размера? - PullRequest
0 голосов
/ 22 декабря 2011

Есть ли ограничение по размеру, которое может принять 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 Ответ

1 голос
/ 22 декабря 2011

Если вы используете глагол 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.

...