首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridView_RowCommand未触发

GridView_RowCommand未触发
EN

Stack Overflow用户
提问于 2021-08-16 09:25:58
回答 1查看 16关注 0票数 0

我对ASP.NET Webforms...My的问题还很陌生,因为我不能以任何方式触发LinkButton命令DetailsReportLink。我尝试了在!IsPostBack中绑定,但仍然没有成功...调试不会捕获GridView_RowCommand方法中的任何内容。

代码语言:javascript
复制
<asp:GridView ID="GridView" CssClass="Gridview" runat="server"
                                Width="100%" AutoGenerateColumns="False" OnRowCommand="GridView_RowCommand" ShowFooter="false">
                                <Columns> 
                                        <asp:TemplateField  ItemStyle-Width="150px" HeaderText="User Info">
                                             <ItemTemplate ><p style="text-align:left"><%#Eval("Name")%></p>
                                        </ItemTemplate>  </asp:TemplateField>
                                    <asp:TemplateField ItemStyle-CssClass="text-left" ItemStyle-Width="110px" HeaderText="Mobile No">
                                        <ItemTemplate>
                                            <p style="text-align:center"><%# Eval("MobileNo")%></p>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField ItemStyle-Width="80px" HeaderText="Key Gen">
                                        <ItemTemplate>
                                            <%# Eval("HishabNumber")%>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField ItemStyle-Width="70px" HeaderText="Balance">
                                        <ItemTemplate>
                                            <%# Eval("LoanTakerBalance")%>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField ItemStyle-Width="140px" >
                                        <ItemTemplate>
                                            <asp:LinkButton ID="DetailsLinkBtn" runat="server"  CommandArgument='<%# Eval("MemberId")%>' CommandName="DetailsReportLink" CssClass="btn btn-info" Text="Details" />
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>
                                <PagerStyle BackColor="#3C8DBC" ForeColor="White" />
                                <HeaderStyle BackColor="#3C8DBC" ForeColor="White" />
                            </asp:GridView>
代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
    {  
        if (!IsPostBack)
        {
           DataTable dt = objdalTransactionEntry.GetLoanReceivedByLoanTakerIdForLoanManagement(Sessions.Name.UserId);
            if (dt.Rows.Count > 0)
            {
                GridView.DataSource = dt;
                GridView.DataBind();
                lblMessage.Visible = false;
            }
            else
            {
                GridView.DataSource = null;
                GridView.DataBind();
                lblMessage.Text = "No Info";
                lblMessage.ForeColor = System.Drawing.Color.Red;
                lblMessage.Visible = true;
            }
        }
    }

 protected void GridView_RowCommand(object sender, GridViewCommandEventArgs e)
    { 
//DEBUG DOES NOT REACH HERE
        try
        {
            if (e.CommandName == "DetailsReportLink")
            {
                long MemberId = Convert.ToInt64(e.CommandArgument.ToString());
                Response.Redirect("~/Pages/Member/MemberCreate?ID=" + System.Web.HttpUtility.UrlEncode(EncryptionDecryption.Encrypt(MemberId.ToString(), true)));
            }
        }
        catch (Exception) { }
    }
EN

回答 1

Stack Overflow用户

发布于 2021-08-16 18:17:32

绝对必须在页面加载事件中删除gv的重新绑定。在IsPostBack = False时加载一次。

您不会,也永远不会在每次页面加载事件中重新加载和重新绑定网格-您将破坏任何可能的代码流,并且重新绑定将重新设置行命令事件。删除重新绑定网格的else代码。gv将很好地保持其状态,并在回发后很好地存活下来,并保留其价值。不要在每个帖子上重新绑定整个网格。在您的例子中,出于某种奇怪的原因,在回发的"else“中- true,您有代码将gv置为空-该代码必须删除!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68800313

复制
相关文章

相似问题

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