Html ASP文本框失去ViewState

Html ASP文本框失去ViewState,html,asp.net,textbox,.net-4.0,Html,Asp.net,Textbox,.net 4.0,我有一个简单的文本框: <asp:TextBox runat="server" ID="tbText" MaxLength="3" Width="80" type="number"> </asp:TextBox> 当我添加type=“number”时,控件在回发后会丢失其内容。我知道没有本地支持,但这是一种确保只能输入数字的舒适方式 如何使值保留在文本框中并添加属性type=“number”?使用文本模式 <asp:TextBox ID="tbText" r

我有一个简单的文本框:

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

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

如何使值保留在文本框中并添加属性
type=“number”

使用文本模式

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

在页面加载()方法中,您可以维护值,并
IsPostBack
中添加属性检查:

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

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

添加
type=number
不会禁用ViewSate。您一定在其他地方做了什么(错误),或者在回发时将文本框设置为空值。问题不是输入100%确定