帮帮我啊,真是见鬼了!有关获取用户控件内某控件的值的问题!!!
有一个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");
怎么会找不到控件呢? 我昨天调试的时候都没问题的啊...今天又没改动过什么主要部分 ...
真是奇怪...
急死了...................
帮帮我啊~~~~~~~~~~~~~~