ASP TextBox失去了ViewState

时间:2018-03-08 14:25:07

标签: html asp.net textbox .net-4.0

我有一个简单的TextBox:

<asp:TextBox runat="server" ID="tbText" MaxLength="3" Width="80"  type="number">
</asp:TextBox>

当我添加type="number"时,控件会在回发后丢失其内容。我知道没有原生支持,但这是确保只输入数字的一种舒适方式。

如何使值保留在TextBox中并添加属性type="number"

2 个答案:

答案 0 :(得分:0)

在您的Page_Load()方法中,您可以维护值,并在IsPostBack检查中添加该属性:

If(IsPostBack)
{
    tbText.Attributes.Add("type", "number");
    tbText.Attributes["value"]= tbText.Text;
}

<强>解释

  • IsPostBack返回true,表示发生了回发
  • tbText.Attributes.Add在文本框中添加了属性type="number"
  • tbText.Attributes["value"]用于设置文本框中输入的值

答案 1 :(得分:-1)

使用TextMode

<asp:TextBox ID="tbText" runat="server" TextMode="Number" />