【问题标题】:2 buttons click,1 in master another in content page2 个按钮单击,1 个在主控另一个在内容页面
【发布时间】:2013-06-25 09:39:05
【问题描述】:

我的网站主页上有注销按钮。

现在我制作了一个属于母版页的内容页面,因为我有 1 个文本框和 1 个按钮。在此页面中,我通过单击文本框中写入的值的按钮完成了搜索编码。但是当我在文本框中输入一些文本并输入时单击它会调用母版页中的注销按钮。

我只是希望当我在文本框中写一些文本并按 Enter 时,它应该调用一个完成搜索编码的按钮。

【问题讨论】:

  • 你能给我们看一些代码吗?这是 WebForms 还是 MVC?您是在使用代码隐藏还是两个按钮都在主表单中提交按钮?

标签: c# asp.net


【解决方案1】:

如果您使用的是普通的 ASP.NET,您可以用面板包围您的文本框和按钮。在该面板上,您可以设置属性“DefaultButton”。当尝试通过 Enter 键提交表单时,此面板中的每个控件都会触发该 DefaultButton。

<asp:Panel runat="server" DefaultButton="btnSearch">
    <asp:TextBox runat="server" ID="txtSearch" Text="" />
    <asp:Button runat="server" ID="btnSearch" Text="Search" />
</asp:Panel>

【讨论】:

    【解决方案2】:

    您必须使用默认面板。试试这个,希望对你有帮助

     <div id="search">
        <asp:Panel ID="defaultpanel" runat="server">
          <asp:TextBox ID="txtSearch"  runat="server" Text=""></asp:TextBox>
      <asp:Button ID="btnSearch" runat="server" Text="Go"  OnClick="btnSearch_Click"
                                    TabIndex="0" />
            </asp:Panel>
    

    并将脚本添加为

    <script type="text/javascript">
                $('[id*=txtSearch]').keydown(function (e) {
        var code = e.keyCode || e.which;
        //alert("jj");
        if (code === 13)
        {
            e.preventDefault(); 
            $("[id*=btnSearch]").trigger('click');
        }         
    });
            </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-16
      • 2021-08-19
      • 2015-11-24
      • 1970-01-01
      • 2017-08-18
      • 2015-11-19
      相关资源
      最近更新 更多