0

Webページにグリッドビューがあります。リンクボタンの列です。リンクボタン列のcommandNameは「lbtnedit」です。リンクボタンをクリックすると、別のタブにIDをロードして再開の詳細が表示されますが、リンクボタンをクリックしても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");
        }
    }

1つ編集:

私がfirebugを使用するとき、ここにリンクのコンテンツがあります:

href = "javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(" ctl00 $ aaaaaaa $ bbbbbbbbbbb "、" "false、" "、"; Clients.aspx "、false、true)

次の場合は問題ないと思います:javascript:__ doPostBack('ctl00 $ mainContent $ gridViewResume'、'resumeID')しかし、これを行う方法がわかりませんか?

4

2 に答える 2

1

Asp:GridViewはOnItemCommandをイベントしていません。

OnRowCommandを使用して、ハンドラーの署名を変更する必要があります。

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

  }
}
于 2011-07-27T19:57:59.733 に答える
0

私は自分のページのすべての検証を削除することで問題を解決しました。

于 2011-07-29T14:29:48.117 に答える