我有一个方法
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?这是允许的吗?