【问题标题】:ASP.NET panel DefaultButton event fires only once?ASP.NET 面板 DefaultButton 事件只触发一次?
【发布时间】:2009-07-27 06:57:20
【问题描述】:

对于具有一个文本框和一个作为其默认按钮的按钮的面板,DefaultButton 事件仅触发一次,因为再次编辑文本框详细信息并按下回车,事件不会触发。

<asp:Panel runat="server" ID="pnlNewFolderDetails" DefaultButton="btnAddFolder">
     <asp:Label runat="server" ID="lblFolderHeader" Text="New Folder Name" CssClass="label" />
     <asp:TextBox runat="server" ID="txtFolderName" ToolTip="Folder Name" />
<asp:Button runat="server" ID="btnAddFolder" OnClick="btnAddFolder_Click" Text="Add" />

有什么建议吗?

【问题讨论】:

  • 在我看来,您的 DefaultButton 在第一次单击输入按钮时触发,但如果再次单击该按钮,则不会触发该事件。如果是这样,第二个事件是在服务器响应之后还是之前失败?

标签: asp.net panel


【解决方案1】:

对于具有一个文本框和一个作为其默认按钮的按钮的面板,DefaultButton 事件仅触发一次,因为再次编辑文本框详细信息并按下回车,事件不会触发。

“DefaultButton 事件”是什么意思?没有这样的事件,.NET 插入一些 HTML,当按下 Enter 时会将 TextBox 与 Button 相关联,它与按钮的单击无关。

【讨论】:

    【解决方案2】:

    如果您使用的是UpdatePanels,请将其添加到btnAddFolder_Click

    txtFolderName.Focus();
    

    我遇到了同样的问题,将焦点设置在文本框上似乎是一种适合我的解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多