首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用EditItemTemplate的Panel DefaultButton和GridView控件

使用EditItemTemplate的Panel DefaultButton和GridView控件
EN

Stack Overflow用户
提问于 2010-02-16 03:53:56
回答 1查看 3.4K关注 0票数 2

我在一个页面上有一个GridView控件,它的面板有一个DefaultButton。我正在尝试让“更新”按钮在用户编辑行时使用Enter键。它与鼠标配合使用时工作正常。当我单击"Update“时,该行将恢复到View模式,并显示更新后的值。

当GridView在面板中时,在处理RowCommand之前,当我按Enter键时,面板的默认按钮(提交页面)就会触发,更新就会丢失。

当GridView不在面板中时,面板中的其他一些看似随机的按钮会触发,但不会触发我所在行的EditItemTemplate中的“更新”按钮。具体地说,页面上有一个CalendarExtender,扩展器的弹出按钮被触发。完全不是我想要的。

我怎样才能让它正确地运行?

下面是我的标记代码的结构:

代码语言:javascript
复制
<asp:Panel ID="Panel1" runat="server" DefaultButton="btnSubmit">

    <!--Form with controls-->

    <asp:ImageButton ID="btnWSPODateCal" runat="server" />
    <!--this button fires when I press enter while editing a grid row:-->
    <ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" 
    TargetControlID="tbPODate" PopupButtonID="btnWSPODateCal" />

    <!--more controls-->

    <div class="button_row">
        <asp:ImageButton ID="btnCancel" runat="server" />
        <asp:ImageButton ID="btnSubmit" OnClick="btnSubmit_Click" />
    </div>
</asp:Panel>
<asp:GridView runat="server">
    <Columns>
        <asp:TemplateField>
            <EditItemTemplate>
                <asp:ImageButton CommandName="MyUpdate" 
                    ID="btnSubmitRow" runat="server"  
                    CommandArgument="<%# ((GridViewRow) Container).DataItemIndex %>" /> 
EN

回答 1

Stack Overflow用户

发布于 2010-02-16 13:09:55

试一试。这只是一个猜测。

代码语言:javascript
复制
<asp:GridView runat="server">
<Columns>
    <asp:TemplateField>
        <EditItemTemplate>
            <asp:Panel ID="Panel2" DefaultButton="btnSubmitRow" runat="server">
                <asp:ImageButton CommandName="MyUpdate" 
                    ID="btnSubmitRow" runat="server"  
                    CommandArgument="<%# ((GridViewRow) Container).DataItemIndex %>" />
            </asp:Panel>  

您可能需要在GridView的每一列中放置一个面板。唯一可能出现问题的是面板能够“找到”GridViewRow中的按钮。

你也试过了吗?

代码语言:javascript
复制
<asp:Panel ID="Panel2" DefaultButton="btnSubmitRow" runat="server">
    <asp:GridView runat="server">
        <Columns>
        <asp:TemplateField>
            <EditItemTemplate>
                <asp:ImageButton CommandName="MyUpdate" 
                    ID="btnSubmitRow" runat="server"  
                    CommandArgument="<%# ((GridViewRow) Container).DataItemIndex %>" />
...
    </asp:GridView>
</asp:Panel>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2268520

复制
相关文章

相似问题

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