2011-08-07 71 views
1

你好,我有一個updatepanel設置。我已將其更新模式設置爲有條件,以便只在發生觸發事件時觸發。在updatepanel的內部,我已經將觸發器設置爲一些圖像控件,並將事件名稱單擊。一切都很好,直到現在。Asp.net中的UpdatePanel回傳輸入鍵按

但現在我也有一個textbox設置。當我輸入一些其他文本並按回車時,它會導致回發並且更新面板接受控制。即使我已將textboxautoPostBack屬性設置爲false,並且updatePanelUpdateMode爲有條件。請有人指出這個問題。我究竟做錯了什麼?我只希望updatepanel在發生此觸發事件時負責updatePanel

這是我的代碼updatepaneltextBox。 。

 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" > 
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="ImageButtonLeftArrow" EventName="click" /> 
       <asp:AsyncPostBackTrigger ControlID="ImageButtonRightArrow" EventName="click" /> 
      </Triggers> 
      <ContentTemplate> 

       <asp:AdRotator ID="AdRotator1" runat="server" 
       AdvertisementFile="~/MainImages.xml" Height="650" Width="934" 
       onadcreated="AdRotator1_AdCreated" CssClass="borderClassForAdRotator" /> 

       <asp:UpdateProgress ID="UpdateProgress1" runat="server" > 
        <ProgressTemplate> 
         <div > 
         <img src="images/loading.gif" class="overLayImage" /> 
         </div> 
        </ProgressTemplate> 
       </asp:UpdateProgress> 

      </ContentTemplate> 
     </asp:UpdatePanel> 
<asp:TextBox ID="search" CssClass="search" runat="server" AutoPostBack="false" ></asp:TextBox> 
+0

請問您可以發佈完整的html嗎? – Waqas

回答

2

您是否也在頁面上設置了submit按鈕?按Enter鍵導致表單提交,因此UpdatePanel可能正在執行更新。

如果您不確定,請在這裏發佈完整的HTML和JS。

更新:此外,如果這是該頁面上唯一的文本框,那麼提交輸入是默認行爲。在這種情況下,添加一個事件處理程序取消默認behvior這樣的:

JS:

<script type="text/javascript"> 
    function disableSubmitOnEnter(e) 
    { 
     var key;  
     if(window.event) 
       key = window.event.keyCode; //IE 
      else 
       key = e.which; //firefox  

     return (key != 13); 
    } 
</script> 

代碼隱藏:

search.Attributes.Add("onkeypress", "return disableSubmitOnEnter();"); 
+0

沒有theres沒有提交按鈕在頁面上。 –

+0

你能發佈完整的HTML和JS嗎? Enter上的提交必須有一些內容。 – Mrchief

+0

好吧,先生的Html非常不整齊!但即時通訊要爲你編輯郵件 –

0

使用JavaScript函數爲onKeyDown事件和如果它是回車鍵,則返回false。 (回車鍵是鍵碼13)

if(event.keycode == 13) return false; 
0

如果上述答案不起作用,請使用此單行代碼。

<asp:TextBox ID="search" CssClass="search" runat="server" AutoPostBack="false" onkeydown = "return (event.keyCode!=13);" ></asp:TextBox>