2014-01-06 57 views
0

txtName是頁面中的第一個控件。當頁面最初加載時,它是空的。如果文本框中有文本,並且用戶單擊刷新,則不會清除文本。 在調試時,我可以看到文本框被清除,但在頁面上沒有!!!!。 這發生在Firefox中。在IE中正常工作。文本框不能在Firefox中清除

我試過了,保持文本框在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

爲文本框設置屬性AutoComplete =「off」並嘗試。 – Dev

+1

如果您的要求是要清除每個請求上的文本框,請嘗試將命令'txtName.Text =「」;'放在'IsPostBack()'塊的外側 –

+0

不能將它外部 – Ruby

回答

0
protected void page_load() 
{ 
    if(!IsPostBack) 
    { 

    UpdatePanel1.Update(); 
    } 
txtName.Text=""; 
} 

嘗試這種方式

0

請外面加txtName.Text="";如果條件。像這樣嘗試。

protected void page_load() 
{ 
    txtName.Text=""; 
    if(!IsPostBack) 
    { 
    UpdatePanel1.Update(); 
    }  
} 
0

另一種解決方案是在您的文本框上設置autocomplete=off,該文本框將在FF上工作。

如果您確實需要自動完成,您可以將代碼包裝到表單中。而在onLoad事件

<form id="autoclearform"> 
    //your textboxes 
</form> 

重置它現在要麼添加onload="autoclearForm.reset();"你的身體或通過JavaScript做。

$(document).ready(function() { 
    autoclearForm.reset(); 
});