我有一个asp.net页面内容如下。 Panel中有一个HtmlInputText控件,其Enabled =“false”。我在btnSet_Click中设置HtmlInputText控件的Value属性,然后为面板设置Enabled = true。回发完成后,HtmlInputText的值丢失。以下是我尝试的案例列表:
这种行为可能是什么原因?
<asp:Panel ID="pnl" runat="server" Enabled="false">
<input type="text" runat="server" id="txt" />
</asp:Panel>
<asp:Button ID="btnSet" runat="server" Text="Set" OnClick="btnSet_Click" />
<asp:Button ID="btnEnable" runat="server" Text="Enable" OnClick="btnEnable_Click" />
-
protected void btnSet_Click(object sender, EventArgs e)
{
txt.Value = "Test";
}
protected void btnEnable_Click(object sender, EventArgs e)
{
pnl.Enabled = true;
}
答案 0 :(得分:0)
实际上,HTML服务器控件(例如:)具有无法识别访问当前页面的客户端浏览器的功能。 但Web服务器控件(例如:asp:TextBox)不会出现浏览器兼容性问题,因为它会照顾好自己。
Web服务器控件为您提供更多自由,灵活性和对这些控件行为的控制...... 所以请将它们用于您的目的。