public static CheckBox[] cb = null;
int z=0;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
cb = new CheckBox[count - k];
//Database code.........
while (dr.Read())//read data from access database
{
cb[z] = new CheckBox();
cb[z].Text = dr["Member_Name"].ToString();
Panel2.Controls.Add(cb[z]);
Panel2.Controls.Add(new LiteralControl("</br>"));
z = z + 1;
}
}
}
protected void Button6_Click(object sender, EventArgs e)
{
for (int x = 0; x < cb.Length; x++)//ERROR IS HERE:Object reference not set to an instance of an object.
{
if (cb[x].Checked == true)
{
//processing check boxes
}
}
}
-1
A
回答
2
你的阵列需要每次页面被调用时被初始化,当页面第一次加载不仅。
0
奥利弗的答案是正确的。所有你需要做的只是删除检查页面的IsPostBack属性的if条件,这就是为什么: 当你在运行时创建一个控件,然后将它附加到asp页面的结构中时,每当页面交付给客户。 所以当你创建一次页面被请求的第一次它被渲染。 如果页面被重新发布回服务器,则应该创建控件的对象,以便渲染,然后从页面的视图状态加载其以前的状态(在您的情况下,对于Checked属性,为true或false)
1
您的复选框数组不是页面视图状态的一部分,因此在回发时不会为您初始化。单击该按钮会导致回发并且cb阵列未初始化。
你可以这样做,而不是:
foreach (Control ctrl in Panel2.Controls)
{
CheckBox cb = ctrl as CheckBox;
if (cb != null && cb.Checked)
{
//processing check boxes
}
}
相关问题
- 1. 复选框值真/假
- 2. S:复选框 - 选择得到价值
- 3. 获得价值复选框
- 4. 获得总[复选框]值
- 5. Jquery得到选定的复选框
- 6. 我无法在PHP中获得我的数组复选框值
- 7. 获得()不能够得到复选框
- 8. 为什么我的JavaScript功能找到我的复选框是假
- 9. 我没有得到我的对齐输入复选框形式
- 10. 复选框值。选中/取消选中时会得到奇怪的值
- 11. SmartGWT的:复选框树 - 正确的方法来获得选择复选框值
- 12. Rails 4复选框集合:无法获得include_hidden:假工作
- 13. 复选框选中得到即使值为空,在PHP
- 14. 复选框值真或假替代cshtml中的字符串
- 15. 的onclick复选框追加复选框值到URL
- 16. 要获得多个复选框值
- 17. ionic2如何选择只有一个复选框,并得到所选的复选框的值
- 18. 复选框复选值
- 19. 复选框,==器isChecked假不行
- 20. asp:复选框始终发送虚假
- 21. jqGrid - 复选框没有得到正确的输入值?
- 22. 我必须发送复选框值到我的电子邮件
- 23. 为什么复选框是检查而HTML值=假
- 24. ASP.Net复选框返回“是”或“否”值(而不是真/假)
- 25. 如何获得只有选定复选框的选项值?
- 26. 复选框没有得到遏制
- 27. jquery得到检查复选框
- 28. 复选框没有得到检查
- 29. 从复选框插入到mysql的值
- 30. 如何获得角2中选中的复选框的值2
尝试让你的代码在代码框中,请。这不是很可读。 – Younes 2010-01-19 09:01:14
因为你有cb [z]复选框,所以不知道你所指的复选框。 – Younes 2010-01-19 09:02:28
发布问题,而不仅仅是一些代码! – 2010-01-19 09:14:09