首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在用户控件上设置DefaultButton

无法在用户控件上设置DefaultButton
EN

Stack Overflow用户
提问于 2011-09-07 03:22:30
回答 3查看 4.7K关注 0票数 0

我正在尝试将用户控件上的按钮设置为页面上的默认按钮,但它不起作用。下面是我的用户控件的代码

代码语言:javascript
复制
<asp:Panel ID="pnlTopicPicker"  runat="server" DefaultButton="btnSubmit">
    <div class="PadBottom">
        <div id="divTopic" class="FloatLeft PadDiv">
            <div class="SectionHeader FloatLeft PadRightMediumSmall">Topic:</div>
            <asp:DropDownList ID="ddlSelectedTopic" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlSelectedTopic_OnSelectedIndexChanged" >
            </asp:DropDownList>
        </div>
        <div class="FloatLeft PadLeftMediumSmall">
               <asp:Button ID="btnClear" runat="server" Text="Clear" OnClick="btnClear_Click" CssClass="DefaultButton" />
        </div>
        <div class="FloatRight PadRightMediumSmall">
               <asp:Button ID="btnSubmit" runat="server" Text="View Report" OnClick="btnSubmit_Click" OnClientClick="return ViewReportSubmit(event);" CssClass="DefaultButton" />
        </div>
     </div>
</asp:Panel>

我在页面中使用了上面的控件: TopicPicker:

代码语言:javascript
复制
<asp:UpdatePanel ID="pnlFind" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
            <div class="PadLeft">
                <Incapnet:TopicPicker ID="incTopicPicker" runat="server" OnClearClick="btnClear_Click" OnSubmitClick="btnSubmit_Click" OnSelectedTopicChanged="ddlSelectedTopic_Changed" />
            </div>
            <div class="ClearBoth" />
            <div class="PadTop PadLeft" >
                <asp:GridView ID="gvFindGrid" runat="server" AutoGenerateColumns="False" OnRowDataBound="gvFindGrid_RowDataBound" 
                         CssClass="ContrastTable UFWideTable"  GridLines="None">
                    <AlternatingRowStyle CssClass="AlternateRow" />
                    <RowStyle CssClass="Row" />
                    <HeaderStyle CssClass="HeaderRow" />
                    <EmptyDataTemplate>
                        No Records Found
                    </EmptyDataTemplate>
                    <Columns>
                    ... 
                    ...
        </ContentTemplate>
    </asp:UpdatePanel>

现在,当我在页面上点击enter时,我想要执行"btnSubmit“,但这并没有发生。

我怎么才能让它正常工作。

谢谢,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-07 03:42:49

您希望在什么情况下触发btnSubmit单击事件?

我之所以这样问,是因为只有在实现IButtonControl接口的控件具有焦点时按Enter键才会触发事件。

这将包括(其中) TextBox和DropDownList。

如果您选择您的DropDownList,然后按回车,它应该会触发事件。但是,仅仅单击任何元素(如DIV)并按enter键是不可能的。

编辑(基于注释)

这有点麻烦,但你可以使用下面的javascript (使用JQuery)实现你想要的:

代码语言:javascript
复制
<script type="text/javascript">
    $(document).keypress(function (e) {
        var code = (e.keyCode ? e.keyCode : e.which);
        if (code == 13) {
            $('#<%= btnSubmit.ClientID %>').click();
        }
    });
</script>
票数 4
EN

Stack Overflow用户

发布于 2011-09-07 03:25:44

尝试将以下内容添加到按钮:

代码语言:javascript
复制
<asp:Button ID="Button1" runat="sever" UseSubmitBehavior="true" ... >

如果这样还不起作用,可以尝试将此代码添加到您的标记中(用于IE):

代码语言:javascript
复制
<!-- Fix for IE bug submit on pressing "Enter" -->
<div style="display:none">
    <input type="text" name="hiddenText"/>
</div>
票数 0
EN

Stack Overflow用户

发布于 2013-11-04 22:12:15

代码语言:javascript
复制
this.Page.Form.DefaultButton = this.btnLogin.UniqueID;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7325024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档