新增一个用户控件WebUserControl1.ascx,页面中放一个textbox控件,然后在WebUserControl1.ascx的page load事件中设置textbox的值,控件定义一个公开方法传出textbox的值;然后在WebForm1.aspx页面中放入该控件,页面的page load中取得控件textbox的值,竟然为空,而用按钮点击取得是所要的。代码如下:
WebUserControl1.ascxprivate void Page_Load(object sender, System.EventArgs e)
{
TextBox1.Text = "dasf";
}
公开方法:
public string GetTextValue()
{
return TextBox1.Text;
}WebForm1.aspx
private void Page_Load(object sender, System.EventArgs e)
{
Label1.Text = WebUserControl11.GetTextValue();
//这里竟然取得的始终为空,不知道为什么和该如何处理呢
}谢先。还有就是在page load中,是否判断IsPostBack都没什么影响。
WebUserControl1.ascxprivate void Page_Load(object sender, System.EventArgs e)
{
TextBox1.Text = "dasf";
}
公开方法:
public string GetTextValue()
{
return TextBox1.Text;
}WebForm1.aspx
private void Page_Load(object sender, System.EventArgs e)
{
Label1.Text = WebUserControl11.GetTextValue();
//这里竟然取得的始终为空,不知道为什么和该如何处理呢
}谢先。还有就是在page load中,是否判断IsPostBack都没什么影响。
还未等控件初始化完毕,你就调用了
先执行Page_load!!
get {
return cW1;
}
set {
cW1 = Value;
}
{
cW1 = 1;
//在这里给内部变量赋值
}
private int cW1; public object ColumnWidth1 {
get {
return cW1;
}
set {
cW1 = Value;
}
private void Page_Load(object sender, System.EventArgs e)
{
Label1.Text = WebUserControl11.ColumnWidth1;
}
public string GetTextValue()
{
get
{
return TextBox1.Text;
}
set
{
TextBox1.Text = Value;
}
}
你的WebUserControl1.ascx的Page_load没有执行
即使执行了
若WebUserControl1。ascx已经退出,调用也是无效的
应该这样
public string GetTextValue()
{
get
{
return TextBox1.Text;
}
set
{
TextBox1.Text = Value;
}
}
{
TextBox1.Text = "sf";
//a = "sf";
//两种方式都不可以
}public string Text1Value
{
get
{
return a;
}
set
{
a = TextBox1.Text;
}
}WebForm1.aspx
private void Page_Load(object sender, System.EventArgs e)
{
Label1.Text = WebUserControl11.Text1Value;
}按照以上代码依然不成,各位可以确认一下
set
{
a = TextBox1.Text;
}
{
a = value;
}
public string TextValue
{
get
{
return TextBox1.Text;
}
set
{
TextBox1.Text = value;
}
}
WebForm1.aspx
private void Page_Load(object sender, System.EventArgs e)
{
Label1.Text = WebUserControl11.TextValue;
}
你应该定义公开类型的属性WebUserControl1.ascxprivate void Page_Load(object sender, System.EventArgs e)
{
cW1 = TextBox1.Text;
//在这里给内部变量赋值 要是从textbox负值 就这样写
}
private int cW1; public object ColumnWidth1 {
get {
return cW1;
}
set {
cW1 = Value;
}
private void Page_Load(object sender, System.EventArgs e)
{
Label1.Text = WebUserControl11.ColumnWidth1;
}