1

更新パネルでボタンが機能しないのに、「Enter」キーを押すと機能するのはなぜですか?

        <asp:ScriptManager ID="Sqrpt1" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel UpdateMode="Always" ChildrenAsTriggers="true"  ID="updpan" runat="server"><ContentTemplate>
        <fieldset>
        <asp:Panel runat="server" ID="ClientSearchPa" DefaultButton="SearchClientPopup">
        <asp:TextBox ID="SearchClientBox" runat="server"></asp:TextBox>
&nbsp;<asp:Button ID="SearchClientPopup" runat="server" Text="Search" 
                onclick="SearchClientPopup_Click" /></asp:Panel>
        <br />
        <asp:ListBox ID="Clients" runat="server" Height="341px" Width="682px"></asp:ListBox>   

        <br />
        <br />
            <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
           <asp:Button ID="ClientSelect" runat="server" OnClick="ClientSelect_Click" Text="button" /> 
           </fieldset> 
        </ContentTemplate>
        </asp:UpdatePanel> 
4

2 に答える 2

1

コードは完全に問題なく、ボタンはサーバー側でイベントを発生させ、サーバーイベントのいくつかの制御値を変更します。あなたはajax呼び出しの非常に速い応答に気づいていないかもしれません

  protected void SearchClientPopup_Click(object sender, EventArgs e)
    {
        SearchClientBox.Text = "Hello ajax SearchClient clicked";
    }
    protected void ClientSelect_Click(object sender, EventArgs e)
    {
        SearchClientBox.Text = "Hello ajax ClientSelect cliecked ";
    }
于 2012-04-18T10:30:23.443 に答える
0
<asp:Panel runat="server" ID="ClientSearchPa" DefaultButton="SearchClientPopup"> 
<asp:TextBox ID="SearchClientBox" runat="server"></asp:TextBox> &nbsp;
<asp:Button ID="SearchClientPopup" runat="server" Text="Search" onclick= 

"SearchClientPopup_Click" />

 </asp:Panel> 

ここでは、DefaultButtonがSearchClientPopupに設定されているため、パネル内のコントロールにフォーカスがある場合は、Enterキーが機能し、SearchClientPopupがクリックイベントを発生させます。

     <asp:Button ID="ClientSelect" runat="server" OnClick="ClientSelect_Click" Text="button" /> 

このボタンはパネルコントロール内にないため、クリックして明示的に起動する必要があります

于 2012-04-18T11:05:53.130 に答える