我需要检查是否选中了单选按钮,或者不需要将其值设置为变量。
我如何遍历转发器中的 radioButtonList 以检查用户在按钮单击时选择 True 或 false 并且按钮放置在 gridview 和转发器之外。
我试过这个:protected void btnsave_Click(object sender, EventArgs e) { if (!Page.IsValid) return; 整数 tcounter = 0; int fcounter = 0;
for (int i = 0; i < gridMainSurveyQuestion.Rows.Count; i++)
{
GridView grid = (GridView)gridMainSurveyQuestion.Rows[i].FindControl("RptQuestions");
Repeater repea = (Repeater)grid.Rows[i].FindControl("RptQuestions");
for (int j = 0; j < repea.Items.Count; j++)
{
RepeaterItem currentitem = repea.Items[j];
RadioButtonList rlist = (RadioButtonList)currentitem.FindControl("rblanswer");
if (rlist.SelectedItem.Value == "0")
{
fcounter++;
lblfalse.Text = fcounter.ToString();
}
if (rlist.SelectedItem.Value == "1")
{
tcounter++;
lbltrue.Text = tcounter.ToString();
}
}
}
}
但显示错误:无法将“System.Web.UI.WebControls.Repeater”类型的对象转换为“System.Web.UI.WebControls.GridView”。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.InvalidCastException:无法将“System.Web.UI.WebControls.Repeater”类型的对象转换为“System.Web.UI.WebControls.GridView”类型。
源错误:
第 89 行:for (int i = 0; i < gridMainSurveyQuestion.Rows.Count; i++) 第 90 行:{ 第 91 行:GridView grid = (GridView)gridMainSurveyQuestion.Rows[i].FindControl("RptQuestions"); 第 92 行:第 93 行:Repeater repea = (Repeater)grid.Rows[i].FindControl("RptQuestions");
源文件:C:\Users\madiha.rahman\Desktop\PICG_SurveyModule\PICG_SurveyModule\Survey.aspx.cs 行:91
你能改正吗