GridView中的GridViewRow来自其他方法,从GridView中的按钮调用,创建错误的值C#ASP.NET

时间:2017-06-14 04:07:03

标签: c# asp.net gridview

我有一个方法

 protected void SignOffBT_Command(object sender, CommandEventArgs e)
    {
        int rowIndex = e.CommandArgument.ToInt();
        string serviceFormId = Request.QueryString["sfid"];
        string serviceFormCompletedId = Request.QueryString["sfcid"];
        string currentEmployee = Fn.CurrentEmployeeName();
        Label NotificationLB = (Label) FormGV.Rows[rowIndex].FindControl("NotificationLB");
        if (serviceFormId == maintenanceActionCompletionFormID.ToString())
        {
            if (QuestionLabelLB.Text.ToLower().Contains("approve"))
            {
                ApprovedByEmployeeIDHF.Value = Fn.CurrentEmployee().ToString();
                SignOffBT.Visible = false;
                NotificationLB.Text = "Approved by " + Fn.CurrentEmployeeName();
                if (string.IsNullOrEmpty(serviceFormCompletedId))
                {
                    redirect = false;
                    SaveForm();
                    .........

从GridView中通过以下按钮

调用SignOffBT_Command
<asp:Button runat="server" ID="SignOffBT" Text="Sign Off" Visible="False"  CommandArgument='<%#((GridViewRow)Container).RowIndex%>' OnCommand="SignOffBT_Command"/>

SignOffBT_Command调用SaveForm()方法。

在SaveForm()方法中,我有一个foreach如下

foreach (GridViewRow tr in FormGV.Rows)
{

问题是代码的行为不符合预期。 if条件语句传递应该失败,等等。我可以在断点处的变量值中看到这种行为。 有人有什么想法吗?是因为来自按钮的原始方法包含在GridView中,并且该方法调用的方法想要遍历整个GridView?这是允许的吗?

0 个答案:

没有答案