我的主窗口代码如下:
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().oString()+"');</script>");
}
if(ctrl0.GetType() == Type.GetType("CheckBox"))
{
//具体实现
Response.Write("<script language='JavaScript'>window.alert('"+ctrl0.GetType().ToString()+"');</script>");
}
}
}
===========================================================================================================================
同样的讨论在:http://community.csdn.net/Expert/topic/5293/5293251.xml?temp=.3804895
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().oString()+"');</script>");
}
if(ctrl0.GetType() == Type.GetType("CheckBox"))
{
//具体实现
Response.Write("<script language='JavaScript'>window.alert('"+ctrl0.GetType().ToString()+"');</script>");
}
}
}
===========================================================================================================================
同样的讨论在:http://community.csdn.net/Expert/topic/5293/5293251.xml?temp=.3804895
解决方案 »
- 程序打包请教
- wcf 关于 wsDualHttpBinding 回调
- 对象在作用域执行完毕后是否会自动释放
- c#中一个多线程的小问题
- 在DataGridView中添加自动汇总行
- 这句是什么意思啊?新手求教
- DATAGRID数据问题!!!!求高人!绝对够挑战
- vc++转c#的问题,LPVOID到底是什么类型?
- visval studio 2010 未能正确加载 stan package 包
- 怎样写一个程序给当前的屏幕一个COPY,相当于按下Print Screen SysRq键,并把屏幕的COPY保存起来.
- .NET2.0做图片左右或上下切换效果怎么弄?
- C# 知道 一个需要跳转的地址~~ 怎么获得 ...那个跳转后的地址
.ascx:
public string LabelText
{
set
{
label1.Text = value;
}
get
{
return label1.Text;
}
}
或者采用方法:
public string GetLabelText()
{
return label1.Text;
}
public string RB(string rb,string newid)
{
sql=" Update jy_students_ks_"+System.DateTime.Now.Year.ToString()+System.DateTime.Now.Month.ToString()+
" set 学生答案='"+rb.ToString()+
"' WHERE (newid = "+newid.ToString()+") "; OdbcConnection con=db.CreateConnection();
con.Open();
if(sql.ToString()!="")
{
if(!db.ExecuteCommand(con,sql.ToString()) )
{
//学生答案不能加入到数据库!
}
}
con.Close();}
public bool RB(string rb,string newid)
{
sql=" Update jy_students_ks_"+System.DateTime.Now.Year.ToString()+System.DateTime.Now.Month.ToString()+
" set 学生答案='"+rb.ToString()+
"' WHERE (newid = "+newid.ToString()+") "; OdbcConnection con=db.CreateConnection();
con.Open();
if(sql.ToString()!="")
{
if(!db.ExecuteCommand(con,sql.ToString()) )
{
//学生答案不能加入到数据库!
return false;
}
}
con.Close();
return true;
}
主窗口中:
bool b = this.UCContrlName.RB("字符串1", "字符串2);
另外没搞明白你这个函数派什么用场,你解释一下,也许我可以给你整理一下。
bool b = this.UCContrlName.RB("字符串1", "字符串2);
的UCContrlName怎么找到?ascx生成页面后,主窗口中找不到生成的控件,我用下法也报null错???
ascx中:
public void RB(object sender, System.EventArgs e)
{
RB1_CheckedChanged(sender, e);
}
private void RB1_CheckedChanged(object sender, System.EventArgs e)
{
string x1="",sql=""; if (this.RB1.Checked)
x1="A";
if(this.RB2.Checked)
x1="B";
if(this.RB3.Checked)
x1="C";
if(this.RB4.Checked)
x1="D"; sql=" Update jy_students_ks_"+System.DateTime.Now.Year.ToString()+System.DateTime.Now.Month.ToString()+
" set 学生答案='"+x1.ToString()+
"' WHERE (newid = "+this.Tnum.Text.ToString()+") "; OdbcConnection con=db.CreateConnection();
con.Open();
if(sql.ToString()!="")
{
if(!db.ExecuteCommand(con,sql.ToString()) )
{
//学生成绩不能加入到数据库!
}
}
con.Close();
}窗口中调用:
((test0)(this.FindControl("test0"))).RB(sender,e);
运行时报null错,"对象没有引用"
Public Textbox xxx{
SET{你页面上放的TEXTBOX;}
GET {你页面上放的TEXTBOX;}
}
多谢帮助!!!!!!!