2011-12-22 2 views
0

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

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

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

вид касается

+0

Сколько данных вы пытаетесь вставить в него, когда оно не удается? –

+0

Около 1900 идентификаторов GUID, я знаю, что это не лучшая практика, но они настаивают. И у меня нет времени для разработки другого плана. – Captain0

+0

Вы устанавливаете значение для вызова ajax? – dotnetstep

ответ

1

If вы используете 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 - около 4 тыс. В IE.

Смежные вопросы