【问题标题】:Default button property in panel does not work面板中的默认按钮属性不起作用
【发布时间】:2010-09-16 07:51:39
【问题描述】:

按下回车键时,我希望触发图像按钮的点击事件。所以我将文本框和按钮放在面板内,并在面板的“DefaultButton”属性中给出了图像按钮的 ID。但是在按下回车键时,图像按钮的点击事件不会被触发。代码贴在下面:

<asp:Panel ID="pnlGlobalSearch" DefaultButton="imgbtnSearch" runat="server">
    <table width="226" border="0" cellpadding="2" cellspacing="2">
    <tr>
        <td width="150" align="right">
            <asp:TextBox ID="txtSearch" CssClass="para1Black" Width="150px" 
                     ValidationGroup="GlobalSearch" runat="server" />
            <cc1:FilteredTextBoxExtender ID="txtSearch_FilteredTextBoxExtender" 
                     runat="server" Enabled="true" TargetControlID="txtSearch" 
                     FilterType="UppercaseLetters,LowercaseLetters,Custom,Numbers" 
                     FilterMode="InvalidChars"
                     InvalidChars="~`!@#$%^&_-+|\?*(){}[]:;,.',"" />
            <cc1:TextBoxWatermarkExtender ID="txtSearch_TextBoxWatermarkExtender" 
                     WatermarkText="Enter text to search." runat="server" 
                     Enabled="true" TargetControlID="txtSearch" />
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                     ControlToValidate="txtSearch" ValidationGroup="GlobalSearch"  
                     CssClass="error" Display="None" 
                     ErrorMessage="Please enter text to search."/>                 
            <cc1:ValidatorCalloutExtender ID="RequiredFieldValidator1_ValidatorCalloutExtender" 
                     runat="server" Enabled="true" 
                     TargetControlID="RequiredFieldValidator1"/>
        </td>
        <td width="76">
            <asp:ImageButton ID="imgbtnSearch" ToolTip="Click to search." 
                   ImageUrl="images/search2.jpeg" CausesValidation="true" 
                   Width="22px" Height="22px" ValidationGroup="GlobalSearch" 
                   runat="server" OnClick="imgbtnSearch_Click" />
      </td>
   </tr>
   </table>
</asp:Panel>

还请提供堆栈溢出网站中存在的搜索文本框功能的代码。在文本框中输入文本并按回车键,搜索功能应该被执行。

【问题讨论】:

  • 检查页面上的 javascript 错误。

标签: asp.net


【解决方案1】:

尝试在 ImageButton 上设置 ClientIDMode="Static"(仅限 .net 4)

【讨论】:

  • 我们只使用 .Net 3.5! ClientIDMode="Static" 不起作用!
  • 好的。尝试在代码中设置 DefaultButton 属性:pnlGlobalSearch = imgbtnSearch.UniqueID - 我认为问题在于生成的客户端 ID。
  • 我尝试给 pnlGlobalSearch.DefaultButton = imgbtnSearch.ClientID;以及 pnlGlobalSearch.DefaultButton = imgbtnSearch.UniqueID;但他们都没有成功。我也尝试在表单标签中提供默认按钮属性,但这也没有用!
【解决方案2】:

我犯了一个愚蠢的错误!!在文本框的按键事件中,我添加了 javascript 代码来防止特殊字符,因为我已经允许可以在文本框中输入的字符..在那部分我没有给出输入键的键码!!!现在问题已解决。

【讨论】:

    猜你喜欢
    • 2011-04-13
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    相关资源
    最近更新 更多