您的位置:程序门 -> .net技术 -> c#



麻烦事,请各位高手帮忙!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


麻烦事,请各位高手帮忙!
发表于:2007-01-13 10:33:36 楼主
我出题时试卷页面使用web用户控件testall分别调用4种题型的试题,用的又是web用户控件,分别为test0~test3,其中将radiobutton和的checkbox的单击事件的结果写到数据库学生答题表中;
        但是调试时test0~到test3的checkedchanged等事件不响应;
        请问各位高手如何在试卷页面中当学生点击radiobutton或checkbox时,调用test0~test3中的checkedchanged等事件并回发点击的数据????
        再线急等,(下周一就要考试了,没法只有求救了!!!!)
发表于:2007-01-13 10:57:441楼 得分:0
再线急等,(下周一就要考试了,没法只有求救了!!!!)
发表于:2007-01-13 11:01:072楼 得分:0
将checkbox或radiobox的autopostback设置为true
发表于:2007-01-13 11:09:313楼 得分:0
试过了,关键是程序运行时不执行子web控件test0--3?
发表于:2007-01-13 11:25:484楼 得分:0
用javascript在body   的onload中写函数调用test0--3.
发表于:2007-01-13 11:30:575楼 得分:0
onload中写函数调用test0--3.我现在一团乱麻,没思路啊????
求救求救!!!!!!!!
发表于:2007-01-13 11:37:586楼 得分:0
以前有人也问过类似的问题,他出现这种情况的原因是由于他使用了验证控件,如果本页面输入的不合法(即没有满足验证控件的要求),提交的时候客户端验证不通过,表现为没有任何反应..

看看你的页面是否有用过验证控件,假如有,那可能就是这个原因了..

good   luck..
发表于:2007-01-13 11:40:547楼 得分:0
没有遇到过,不过用javascript应该可以吧
发表于:2007-01-13 11:44:068楼 得分:0
客户端学生试卷中有个交卷button,可用他来回送学生点击radiobutton或checkbox的结果,但是我没用过java,如何写一个c#的试卷页面radiobutton或checkbox的遍历函数且数据要保留,学生点的是什么既答题结果.
救命!!!救命!!!救命!!!
发表于:2007-01-13 11:46:109楼 得分:0
没有用过验证控件;
发表于:2007-01-13 11:47:5410楼 得分:0
我在试卷页面用((test0)(this.findcontrol( "test0 "))).rb1_checkedchanged但就是写不对?
发表于:2007-01-13 12:03:2111楼 得分:0
這樣試看看:
((radiobutton)(this.findcontrol( "test0 "))).rb1_checkedchanged
发表于:2007-01-13 12:06:1612楼 得分:0
试卷页面的控件关系:web <panel(n) <testall(n) <test(n)
test(n)中有checkedchanged等事件,目的是结果写到数据库表中;但是测试发现test(n)中的checkedchanged等从没运行过?????
加与不加autopostback均无反应,学生试卷页面没有验证控件
发表于:2007-01-13 12:08:2113楼 得分:0
studenttest02.aspx.cs(515,4):   error   cs0117:   “system.web.ui.webcontrols.radiobutton”并不包含对“rb1_checkedchanged”的定义
发表于:2007-01-13 12:14:3714楼 得分:0
试卷页面生成的代码是:
<td   colspan= "2 "   valign= "middle "   align= "right "   style= "font-size:   14px;   color:   #0000cc;   height:   35px ">
      点选答案:
      <span   style= "color:#0000c0;font-size:16px; "> <input   id= "testall1__ctl3_rb1 "   type= "radio "   name= "testall1:_ctl3:dar "   value= "rb1 "   onclick= "rb1_checkedchanged "   />
<label   for= "testall1__ctl3_rb1 "> a </label> </span> &nbsp;&nbsp;

<span   style= "color:#0000c0;font-size:16px; "> <input   id= "testall1__ctl3_rb2 "   type= "radio "   name= "testall1:_ctl3:dar "   value= "rb2 "   onclick= "rb1_checkedchanged "   /> <label   for= "testall1__ctl3_rb2 "> b </label> </span> &nbsp;&nbsp;
<span   style= "color:#0000c0;font-size:16px; "> <input   id= "testall1__ctl3_rb3 "   type= "radio "   name= "testall1:_ctl3:dar "   value= "rb3 "   onclick= "rb1_checkedchanged "   /> <label   for= "testall1__ctl3_rb3 "> c </label> </span> &nbsp;&nbsp;
<span   style= "color:#0000c0;font-size:16px; "> <input   id= "testall1__ctl3_rb4 "   type= "radio "   name= "testall1:_ctl3:dar "   value= "rb4 "   onclick= "rb1_checkedchanged "   /> <label   for= "testall1__ctl3_rb4 "> d </label> </span>
</td>
发表于:2007-01-13 17:26:1915楼 得分:0
up
发表于:2007-01-13 17:53:1616楼 得分:0
如果下列问题解决,上述问题解决,请各位高手帮忙看看!!!!!!!!

页面错误提示:
未将对象引用设置到对象的实例。  
说明:   执行当前   web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。  

异常详细信息:   system.nullreferenceexception:   未将对象引用设置到对象的实例。

源错误:  

行   513:
行   514:
行   515: if   (((radiobutton)(this.findcontrol( "testall1__ctl5_rb1 "))).checked   )
行   516: {
行   517:     response.write( " <script   language= 'javascript '> window.alert( 'testall1__ctl5_rb1 '); </script> ");   }
 
发表于:2007-01-13 18:03:1817楼 得分:0
试试则个:
foreach(control   ctrl   in   page.controls)
{
    if(ctrl.gettype()   ==   radiobutton.gettype())
    {
        //具体实现
    }
    if(ctrl.gettype()   ==   checkbox.gettype())
    {
        //具体实现
    }
}
}
发表于:2007-01-13 18:04:3718楼 得分:0
大概思想就这样,可能有错误,你调整调整,希望不要耽误了学生的考试。呵呵
发表于:2007-01-13 18:07:4119楼 得分:0
帮你顶.
发表于:2007-01-13 18:11:1020楼 得分:0
我41岁了,头老已经不灵活,谢谢你,showlie(想长膘的小猪……)   的代码出现下列提示,怎么改?
非静态的字段、方法或属性“object.gettype()”要求对象引用
发表于:2007-01-13 18:12:1621楼 得分:0
我对c#不熟
发表于:2007-01-13 18:58:4222楼 得分:0
那把radiobutton.gettype()改为type.gettype(radiobutton)
发表于:2007-01-13 19:12:5623楼 得分:0
我用 foreach       (       control       ctrl       in       ((testall)(this.findcontrol( "testall1 "))).tablecd.controls       )      
{      
if       (       ctrl.gettype().tostring()       ==       "system.web.ui.webcontrols.radiobutton "       )      
{      
alltextboxvalues+=     ((radiobutton)ctrl).text       ;      
}      
}      
但返回为null,我的radiobutton在tablecd   内,我已经将radiobutton改为public,仍找不到
谢谢你再帮我想想
发表于:2007-01-13 21:13:1024楼 得分:0
你设置断点看看,为什么会返回null?是没遍历到还是那个判断没通过。
发表于:2007-01-13 21:53:5925楼 得分:0
这样试试,应该没有错误啊
foreach(control   ctrl   in   this.findcontrol( "testall1 ").tablecd.controls)      
{      
    if(ctrl.gettype().tostring()   ==   type.gettype( "system.web.ui.webcontrols.radiobutton "))
  //
}
发表于:2007-01-13 21:56:4426楼 得分:0
对了,以上控件是web服务器控件,不是html控件啊!
发表于:2007-01-14 00:01:2827楼 得分:0
谢谢各位了,我看我得改代码了,试卷页面调用testall是个web   table然后再调用test   0-n,分别出不同类型的题,除试卷均是web控件,设计界面是找不到的,代码看似少简洁,但其结果回送难办;
上述办法我试了不行.
发表于:2007-01-14 10:53:5428楼 得分:0
请问c#如何在调用窗口中找到被调用web控件(.ascx)里的子控件,如ascx中的radiobutton、checkbox、label等?
我的主窗口代码如下:
switch   (tlx.tostring())
{
case   "单选 ":
this.ltnum0.text= "共   "+i.tostring()+ "   小题: ";

test0   ufl0=(test0)this.loadcontrol( "test0.ascx ");
ufl0.id=sdr.getstring(0);
ufl0.xh=this.xh.tostring();
ufl0.jsq=i;

panel1.controls.add(   ufl0   );

break;

case   "多选 ":

this.ltnum1.text= "共   "+i.tostring()+ "   小题: ";

test1   ufl1=(test1)this.loadcontrol( "test1.ascx ");
ufl1.id=sdr.getstring(0);
ufl1.xh=this.xh.tostring();
ufl1.jsq=i;

panel2.controls.add(   ufl1   );

break;
}
我在主窗口下为何找不到test0.ascx中定义的radiobutton、checkbox、label等?我的代码如下:
foreach(control   ctrl   in   panel1.controls   )
{
  alltextboxvalues+=ctrl.clientid.tostring()+ctrl.gettype().tostring()+ "=== ";
if(ctrl.gettype()==type.gettype( "table "))
foreach(control   ctrl0   in   ctrl.controls)
{
if(ctrl0.gettype()   ==   type.gettype( "radiobutton "))
{
//具体实现
response.write( " <script   language= 'javascript '> window.alert( ' "+ctrl0.gettype().fullname.tostring()+ " '); </script> ");
}
if(ctrl0.gettype()   ==   type.gettype( "checkbox "))
{
//具体实现
response.write( " <script   language= 'javascript '> window.alert( ' "+ctrl0.gettype().fullname.tostring()+ " '); </script> ");
}
}
}

发表于:2007-01-14 13:57:2729楼 得分:0
这么简单还问~~
发表于:2007-01-14 15:52:5530楼 得分:0
upp
发表于:2007-01-14 17:38:0931楼 得分:0
调用web控件(.ascx)
——————————————————————
他会生成一个类,lz调用的时候会生成html,但不会生成相应的c#代码。
要调用子控件,在设计的时候,搞一个公有属性,
在aspx里用时,通过创建对象可以访问到的。
若有子控件事件的里代码也执行,好像要用
发表于:2007-01-15 08:45:2832楼 得分:0
再线急等,(下周一就要考试了,没法只有求救了!!!!)


nb


快速检索

最新资讯
热门点击