не может работать на RowCommand в Gridview?

У меня есть gridview на моей веб-странице. Я столбец linkbutton. Имя команды столбца кнопки ссылки — «lbtnedit», я хочу, чтобы при нажатии кнопки ссылки на другой вкладке отображались подробности возобновления с помощью идентификатора загрузки, но когда я нажимаю кнопку ссылки, она не запускалась в 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$bbbbbbbbbb", ""false,"",";Clients.aspx", false, true)

Я думаю, это нормально, если: javascript:__doPostBack('ctl00$mainContent$gridViewResume','resumeID') но я не знаю, как это сделать?


person tiendv    schedule 27.07.2011    source источник
comment
не играй с __dopostbackframework — твой друг. :) ответ vladimir77 решит вашу проблему   -  person naveen    schedule 28.07.2011


Ответы (2)


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

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

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

  }
}
person vladimir    schedule 27.07.2011

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

person tiendv    schedule 29.07.2011