не может работать на RowCommand в Gridview? - PullRequest
0 голосов
/ 27 июля 2011

У меня есть сетка на моей веб-странице.Я столбец ссылки.CommandName столбца кнопки ссылки - «lbtnedit», я хочу. Когда я нажимаю кнопку ссылки, другая вкладка отображает детали Resume путем загрузки идентификатора, но когда я нажимаю кнопку link, она не запускается в gvresume_OnRowCommand

Заранее спасибо!

Вот моя Сетка:

<asp:UpdatePanel ID="udpsubtabResumeList" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <div class="settingrow">
            <div class="gSDMS_Grid">
                <asp:GridView ID="gridViewResume" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" Width="100%" 
                    AllowPaging="true" AllowSorting="true" AutoGenerateColumns="false" PageSize="10" PagerSettings-Position="Bottom" PagerStyle-HorizontalAlign="Right"
                    CssClass="css_grid" OnItemCommand="gvresume_OnRowCommand" EnableViewState="true"
                    >                        
                    <AlternatingRowStyle CssClass='AlternatingRowStyle' />
                    <EditRowStyle CssClass='EditRowStyle' />
                    <FooterStyle CssClass='FooterStyle' />
                    <HeaderStyle CssClass='HeaderStyle' />
                    <PagerStyle CssClass='PagerStyle' HorizontalAlign="Right" />
                    <RowStyle CssClass='RowStyle' />
                    <SelectedRowStyle CssClass='SelectedRowStyle' />
                    <Columns>
                    <asp:TemplateField HeaderText="Full Name" ItemStyle-CssClass="txt" SortExpression="Fullname">
                            <ItemTemplate><%#Eval("Fullname")%></ItemTemplate></asp:TemplateField>

                    <asp:TemplateField HeaderText="View" ItemStyle-CssClass="edit-del accept" ItemStyle-HorizontalAlign="Center">
                            <ItemTemplate><a class="edit"  href='<%# "/FutureEmployee/PostResume.aspx?&id=" + Eval("ResumeID") %>' title="Detail">&nbsp;</a>
                            </ItemTemplate></asp:TemplateField>
                    <asp:TemplateField HeaderText="Edit" ItemStyle-CssClass="edit-del accept">
                                <ItemTemplate><asp:LinkButton runat="server" ID="lbtnedit" Text="Edit" CommandName="edit_cmd" CommandArgument='<% #Eval("ResumeID") %>'></asp:LinkButton>
                            </ItemTemplate></asp:TemplateField>
                    </Columns>
                </asp:GridView>
            </div>
        </div>                       
    </ContentTemplate>
</asp:UpdatePanel>

Вот событие

 protected void gvresume_OnRowCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName=="edit_cmd")
        {
            _id = new Guid(e.CommandArgument.ToString());
            Response.Redirect(SiteRoot + "/FutureEmployee/EmployeeTab.aspx#subTabViewResume");
        }
    }

Редактировать одно:

, когда я использую Firebug, здесь содержание в ссылке:

href = "javascript: WebForm_DoPostBackWithOptions (new WebForm_PostBackOptions (« ctl00 $ aaaaaaa $ bbbbbbbbbbb »,« false »,« »,«; Clients.aspx », false, true) * 1015 Iдумаю, что это нормально, если: javascript: __ doPostBack ('ctl00 $ mainContent $ gridViewResume', 'resumeID'), но я не знаю, как это сделать?

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Asp: GridView не имеет события OnItemCommand.

Вы должны использовать OnRowCommand и изменить подпись обработчика:

protected void gvresume_OnRowCommand(Object sender, GridViewCommandEventArgs e)
{
  if (e.CommandName == "edit_cmd")
  {

  }
}
0 голосов
/ 29 июля 2011

Я решил проблему путем удаления всех подтверждений на моей странице.

...