在线等,急!!为何得不到动态生成的checkboxlist选中的值!!!?

mysummer2003 2006-02-23 12:16:38
这是我生成动态题型的代码:
while datareader.read()
dim chk=new checkboxlist()'多选踢
dim lab_question=new label
dim rbt=new radiobuttonlist()'单选题
dim st as string
dim sf=new radiobuttonlist()'是非题
select case datareader("itemtypeid")
case 1:
lab_question.id="lab"+cstr(i)
lab_question.text="第"+cstr(i)+"题"+":"+datareader(1)+"(多选题)"
chk.id="chk"+cstr(i)
for j=1 to 4
chk.items.add(datareader("answer" & j.ToString))
chk.items(j-1).value=cstr(j)
next
answer_m=answer_m+datareader("answer")
session("answer_m")=answer_m

这是我想得到题目被选者后的答案代码:
for ii=0 to panel1.controls.count

'判断多选题

dim checkA as checkboxlist= CType(panel1.FindControl("chk"&ii+1.ToString),checkboxlist)

for i=1 to checkA.items.count
if checkA.items(i-1).selected then
answerm_selected=answerm_selected+cstr(checkA.items(i-1).value)
else
answerm_selected=answerm_selected+"0"
end if
next
next
response.write(answerm_selected)
请问我上面的代码有错吗?为何得不到answerm-selected的内容?
错误提示为:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

...全文
130 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mysummer2003 2006-02-23
  • 打赏
  • 举报
回复
请问czhenq要如何修改呢?谢谢
dim checkA as checkboxlist= panel1.FindControl("chk1")
这样又可以取到chk1的值, 这是为什么 ?
czhenq 2006-02-23
  • 打赏
  • 举报
回复
为将对象添加到引用的实例。

动态生成的控件的值不会显示的保存在ViewState中,所以在服务器端无法取到值。

exing 2006-02-23
  • 打赏
  • 举报
回复
你可以判断panel1.FindControl("chk3")的返回值啊,如果为null可以另作处理啊
mysummer2003 2006-02-23
  • 打赏
  • 举报
回复
我在生成题的时候加上了
if not ispostback then
生成题目
end if
状态也不能保存啊?
程序报错的原因好象是:
dim checkA as checkboxlist= panel1.FindControl("chk3")
应为生成的题目中没有chk3,这样就会报错,生成项目有的就不会报错,这怎么解决??/
exing 2006-02-23
  • 打赏
  • 举报
回复
动态生成的控件不是不可以保存在viewstate里,而是你每次的重新生成了控件,导致无法保存其状态

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧