HiddenField具有正确的值,但在C#ASP.NET中显示错误的值

时间:2017-05-25 05:40:48

标签: c# asp.net gridview

我在按钮点击方法中有以下代码,该方法遍历GridView的行。 ServiceFormQuestionTypeIDHFHiddenField

第一次通过foreach语句时,sfqtIdINT的值为10,sfqtIdSTR的值为“10”,而if语句为true。现在我期望HiddenField.ToInt()的价值是1.

我可以确认foreach语句的其余部分和其余的if语句在sfqtIdSTRsfqtIdINT中显示错误的值,但if语句的行为是值我期待GridView中的那一行。换句话说,HiddenField具有正确的值但显示错误的值。

我认为没有理由这样做。任何人都可以提供这个理由吗?

 foreach (TableRow tr in FormGV.Rows)
 {
     HiddenField ServiceFormQuestionTypeIDHF = (HiddenField) tr.FindControl("ServiceFormQuestionTypeIDHF");
     int sfqtIdINT = ServiceFormQuestionTypeIDHF.Value.ToInt();
     string sfqtIdSTR = ServiceFormQuestionTypeIDHF.Value;                       
     if ((ServiceFormQuestionTypeIDHF.Value.ToInt() == 1 )||
                        (ServiceFormQuestionTypeIDHF.Value.ToInt() == 2))
     { .......
       .......
     }

1 个答案:

答案 0 :(得分:1)

尝试在foreach中使用GridViewRow而不是TableRow。