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