txtName是页面中的第一个控件。页面最初加载时,它是空的。如果文本框中有文本并且用户单击“刷新”,则表示不会清除文本。 在调试时,我可以看到文本框被清除,但在页面上它不是!!!! 这种情况发生在Firefox中。在IE中正常工作。
我试过,将文本框保留在updatepanel之外,仅为此文本框包含另一个更新面板,启用视图状态,同时删除clientidmode属性。
ASPX:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBack ControlID="txtName" EventName="TextChanged"/>
</Triggers>
<ContentTemplate>
<asp:TextBox ID="txtName" runat="server" OnTextChanged="txtName_TextChanged"
EnableviewState="false" ClientIDMode="Static">
</asp:TextBox>
//Some other controls
</ContentTemplate>
</asp:UpdatePanel>
C#:
protected void page_load()
{
if(!IsPostBack)
{
txtName.Text="";
UpdatePanel1.Update();
}
}
答案 0 :(得分:0)
protected void page_load()
{
if(!IsPostBack)
{
UpdatePanel1.Update();
}
txtName.Text="";
}
试试这种方式
答案 1 :(得分:0)
如果有条件,请在外面添加txtName.Text="";
。试试这样。
protected void page_load()
{
txtName.Text="";
if(!IsPostBack)
{
UpdatePanel1.Update();
}
}
答案 2 :(得分:0)
另一种解决方案是在文本框中设置autocomplete=off
,这将适用于FF。
如果确实需要自动完成功能,可以将代码打包成表单。并在onLoad事件中重置它
<form id="autoclearform">
//your textboxes
</form>
现在可以将onload="autoclearForm.reset();"
添加到您的身体或通过javascript进行。
$(document).ready(function() {
autoclearForm.reset();
});