帮帮我啊,真是见鬼了!有关获取用户控件内某控件的值的问题!!!

i169net1 2006-05-13 12:39:39
有一个a.aspx窗体调用xfp.ascx用户控件(此用户控件内有一个ID为shuliang的文本框),我只是想在a.aspx中得到此文本框shuliang的值......

在a.aspx.cs中动态载入控件二次:
private void Page_Load(object sender, System.EventArgs e)
{
if (!(Page.IsPostBack))
{
for (int i=0;i<2;i++)
{
xfp myfp = (xfp)LoadControl("xfp.ascx");
myfp.ID = "myfp"+i.ToString(); //指定了用户控件的ID:myfp0、myfp1
myfp.Myname = "测试"+i.ToString(); //Myname为用户控件的一个属性
Panel1.Controls.Add(myfp); //加到Panel1容器中...
}
}
}

在a.aspx.cs某按钮的Click事件中获得shuliang文本框的值:
xfp a=(xfp)this.Page.FindControl("myfp0");
TextBox b=(TextBox)a.FindControl("shuliang");
string mysl=b.Text;

结果错误:未将对象引用设置到对象的实例。

换成:
xfp a=(xfp)this.Page.FindControl("myfp0");
string mysl=a.ClientID;
还是同样错误,说明根本没有 FindControl 到 "myfp0" ?

再换成:
Panel a=(Panel)this.Page.FindControl("Panel1");
string mysl=a.ClientID;
就不出错.........但这个结果是没用的.............................

--------------------------------------------------------------------------------
xfp a=(xfp)this.Page.FindControl("myfp0");
怎么会找不到控件呢? 我昨天调试的时候都没问题的啊...今天又没改动过什么主要部分 ...

真是奇怪...
急死了...................

帮帮我啊~~~~~~~~~~~~~~


...全文
111 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
i169net1 2006-05-13
  • 打赏
  • 举报
回复
HTML中没有独立的用户控件ID,只是些用户控件内的WEB控件的转型...

比如shuliang文本框变成:
<input name="myfp0:shuliang" type="text" id="myfp0_shuliang" style="width:53px;" />

现在是 xfp a=(xfp)this.Page.FindControl("myfp0"); 语句找不到"myfp0" 啊...

并且昨天用此方法调试的时候都没问题,一切正常的,见:
http://community.csdn.net/Expert/topic/4744/4744596.xml?temp=.2621118

webwait 2006-05-13
  • 打赏
  • 举报
回复
在ie里运行,查看源文件,看看你控件id变成什么样了,呵呵
i169net1 2006-05-13
  • 打赏
  • 举报
回复
晕...

找到原因了...............呵呵~

62,243

社区成员

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

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

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

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