4

私の質問は、asp:textboxがあり、そのMaxLengthプロパティを指定しないとすると、デフォルトの長さは無制限になるか、文字数に制限があります。この質問は誰かから答えるのはかなり簡単に思えるかもしれませんが、私はそれがはっきりしていません

前もって感謝します

4

4 に答える 4

6

デフォルト値の0は、制限がないことを意味します。参考のためにこのリンクをご覧ください

于 2011-05-20T06:50:07.397 に答える
2

(リフレクターによってスパイされたコード...)

[DefaultValue(0), Themeable(false), WebSysDescription("TextBox_MaxLength"), WebCategory("Behavior")]
public virtual int MaxLength
{
    get
    {
        object obj2 = this.ViewState["MaxLength"];
        if (obj2 != null)
        {
            return (int) obj2;
        }
        return 0;
    }
    set
    {
        if (value < 0)
        {
            throw new ArgumentOutOfRangeException("value");
        }
        this.ViewState["MaxLength"] = value;
    }
}

このプロパティは、次のコードで使用されます。

int maxLength = this.MaxLength;
if (maxLength > 0)
{
    writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, maxLength.ToString(NumberFormatInfo.InvariantInfo));
}
maxLength = this.Columns;
if (maxLength > 0)
{
    writer.AddAttribute(HtmlTextWriterAttribute.Size, maxLength.ToString(NumberFormatInfo.InvariantInfo));
}
于 2011-05-20T06:50:56.833 に答える
1

コントロールに入力できるテキストの最大長は、明示的にavailable memory指定しない場合、によってのみ制限されますMaxLength

于 2011-05-20T06:50:02.007 に答える
0

<asp:TextBox />HTML<input type="text" />コントロールにマップされます。

<input type="text" />HTMLコントロールのデフォルトの最大長は、ここ 524288に準拠しています。(= 512 x 1024文字)

<asp:TextBox TextMode="MultiLine" />HTMLにマップされます<textarea />
default-maxlengthは無制限です。テキストの最大長は、サーバーにデータを送信するために使用される方法(「GET」または「POST」)と、サーバーが巨大なデータを受信する機能によって制限されます。(ASP.NET web.config <httpRuntime maxRequestLength="xxx kb" />

于 2018-10-28T18:17:13.723 に答える