我的UE_area.ascx中有TextBox控件,此ascx正常加载到UserEdit.aspx中.
现在的问题是UserEdit是一个提交表单,我要把UE_area.ascx中TextBox.Text也提交到UserEdit.aspx的后台cs中,应该怎么做呢?
我在后台直接写ascx的TextBox控件ID,会提示说找不到.我以前是做asp的,感觉应该和 <!--#include file= "xxx.asp "--> 差不多,但却不一样.
本人刚接触C#.net还很菜,请帮讲清楚点,谢谢了.
------解决方案--------------------------------------------------------
UserEdit.aspx.cs 在这里
UE_area.FindControl( "ID ") as TextBox;
------解决方案--------------------------------------------------------
在UE_area.ascx把声明TextBox的protected改成public,然后在UserEdit.aspx中就可以直接引用:
UE_area1.TextBox1
------解决方案--------------------------------------------------------
((TextBox)UE_area1.FindControl( "TextBox1 ")).Text
------解决方案--------------------------------------------------------
页面传值就能实现,Request一下就可以了.
------解决方案--------------------------------------------------------
在UE_area.ascx中写一个属性public string GetArea
{
return TextBox1.text;
}
然后在UserEdit.aspx 后台中写 UE_area.ascx的 ID.GetArea 就可以
------解决方案--------------------------------------------------------
加入属性
public string TextValue1
{
set { TextBox1.Text = value;}
get { return TextBox1.text;}
}
这样写封装性好些,以后也容易改!
------解决方案--------------------------------------------------------
//
MyUC.TextValue1 = "hello ";
//
Response.Write(MyUC.TextValue1);
------解决方案--------------------------------------------------------
<%@ Register TagPrefix= "uc1 " TagName= "left " Src= "control/left.ascx " %>
public System.Web.UI.WebControls.TextBox TextBox1;
TextBox1.Text就可以取到值了。