C# aspx文件如何给用户控件的属性赋值?

来源:百度知道 编辑:UC知道 时间:2024/05/05 08:59:17
我新建了一个用户控件MyDiv.ascx,在Default.aspx中用FindControl去呼叫MyDiv.ascx却返回null,这是为什么呢?
部分代码
Default.aspx
<%@ Register Src="Controls/MyDiv.ascx" TagName="Title" TagPrefix="WLQ" %>
...
<WLQ:Title ID="Title1" Value="要给这个属性赋值" EnableViewState="true" runat="server" />

Default.aspx.cs
Controls_MyDiv mydiv = (Controls_MyDiv)this.Page.FindControl("Title1");
这句话返回的是null
各位大大帮帮忙。。。。。
用Title1.FindControl不行,我是想给Title1的属性赋值
在Page_Load里用Title1.Value = "12131";直接赋值,正确,但是OK_Click方法里赋值返回“未将对象引用设置到对象的实例。”
bmlvy2006:我现在用动态绑定解决了,但是新的问题又出现了。
我做了个分页,但是点击下一页后,页面就刷新了,没法保持之前的数据。应该怎么办?另外,post应该怎么用?

1、创建一个WebUserControl1.ascx
2、加入属性
public string SelectedDay
{
get
{
return ViewState["selectedDay"] == null ? DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day : ViewState["selectedDay"].ToString();
}
set
{
ViewState["selectedDay"] = value;
}
}
3、注册到web页面
<%@ Register Src="~/WebUserControl1.ascx" TagName="WebUserControl1" TagPrefix="uc2" %>
4、在页面中添加控件
<uc2:WebUserControl1 ID="a" Visible=true EnableViewState=true runat="server" />
5、给这个属性赋值a.SelectedDay = DateTime.Now.ToString();

在MyDiv.ascx里面建立一属性,比如:

private string _myValue;
public string MyValue
{
get{ return _myValue; }
set{ _myValue = value; }
}