2011-12-22 42 views
0

是否有HTML.Hidden可以採取的大小限制?我有下面的代碼,它適用於當我只把ViewData [「key」] =「12345」,但當「12345是太多的數據htmlfield是空的。MVC3 Html隱藏大小限制?

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

當我加入的ViewData的JavaScript函數[ 「藏」 + param.Parameter.Name]提醒值,整個字符串是存在的。

親切的問候

+0

當它失敗時,你試圖放入多少數據? – 2011-12-22 07:07:42

+0

關於1900個GUID,我知道這不是最佳實踐,但他們堅持。而且我沒有時間去制定另一個計劃。 – Captain0 2011-12-22 07:12:35

+0

您是否在ajax調用上設置了值? – dotnetstep 2011-12-22 07:13:55

回答

1

如果您正在使用HTTP POST動詞提交表單,該限制由的maxRequestLength屬性控制0元素在你的web.config中。默認值是4096 KB:

<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在IE中是4K左右。