0

HTML.Hidden が取ることができるサイズ制限はありますか?次のコードがあります。これは、ViewData["key"]="12345" を配置した場合にのみ機能しますが、"12345 のデータが多すぎる場合、htmlfield は空です。

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

ViewData["hid"+param.Parameter.Name] を javascript 関数に追加して値を警告すると、文字列全体が表示されます。

敬具

4

1 に答える 1

1

HTTP POST 動詞を使用してフォームを送信している場合、制限はweb.configmaxRequestLengthの要素の属性によって制御されます。<httpRuntime>デフォルト値は 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>
}

すべての 40Kaをサーバーに正常にアップロードします。

一方、HTTP GET 動詞を使用してフォームを送信する場合、値はクエリ文字列で送信されるため、制限があります。この制限は、ブラウザーによって異なります。IIRC IEで4Kくらいでした。

于 2011-12-22T08:32:29.067 に答える