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

我新建了一个用户控件MyDiv.ascx,在Default.aspx中用FindControl去呼叫MyDiv.ascx却返回null,这是为什么呢?部分代码Defaul... 我新建了一个用户控件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应该怎么用?
展开
 我来答
bmlvy2006
推荐于2016-04-15 · TA获得超过204个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:158万
展开全部
在MyDiv.ascx里面建立一属性,比如:

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

在default.aspx直接 Title1.MyValue = "初始值";
看你这里没有post操作,所有这样就可以了,反之MyDiv里面的属性需要ViewState保存值了。

-->postback值肯定没有了,所有得用viewstate保存了。

public string MyValue
{
//get里面还可以自己处理,因为你那里好像加载控件就必须赋值,所有下面的这些就可以了,要不需要判断ViewState是否为null or "";
get{ return ViewState["_myValue"].ToString(); }
set{ ViewState["_myValue"] = value; }
}
dayinspring
高粉答主

推荐于2016-11-25 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:2.3万
采纳率:92%
帮助的人:3541万
展开全部
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();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式