2011-08-07 52 views
1

こんにちは、私はupdatepanelの設定を持っています。私はトリガイベントが発生したときにのみ起動するように、更新モードを条件付きに設定しました。 updatepanelの中で私はいくつかの画像コントロールとイベント名をクリックするようにトリガーを設定しました。今はすべてがうまくいきます。Asp.NETのUpdatePanel Enterキーを押した時のポストバック

しかし、今でもtextboxの設定があります。これまでに他のテキストを入力してEnterキーを押すとポストバックが発生し、更新パネルが制御します。 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ボタンの設定もページにありますか?入力を押すとフォームが送信されるため、UpdatePanelが更新を実行している可能性があります。

あなたがよく分からない場合は、HTMLとJSの全文をここに投稿してください。

更新:また、これがページ上の唯一のテキストボックスである場合、Submit on Enterはデフォルトの動作です。

JS:その場合は、このようなデフォルトbehviorをキャンセルするイベントハンドラを追加し

<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

ページに送信ボタンがありません。 –

+0

あなたは完全なHTMLとJSを投稿できますか? Enterに提出するものがなければなりません。 – Mrchief

+0

Htmlでもうまくいきません!あなたのために投稿を編集しようとしています –

0

OnKeyDownイベント用のJavascript機能を使用し、 Enterキーであればfalseを返します。 (Enterキーはキーコード13)

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

上記の回答がうまくいかない場合は、この1行のコードを使用してください。

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