如何将绑定的值赋给自定义的控件
我用DetailsView的自带功能做数据更新(DetailsView是绑定在一个数据源上的),有一个字段需要上传图片,我将上传功能做成一个用户控件,如下:
string oldName;
public string OldName
{
get { return oldName; }
set { oldName = value; }
}
protected void Page_Load(object sender, EventArgs e){...}
在前端DetailsView该自段的EditTemplete中加入这个控件,
<EditItemTemplate>
<uc2:UploadFile ID= "UploadFile1 " runat= "server " OldName= ' <%# Eval( "F_PicH ") %> '/>
</EditItemTemplate>
但是用 <%# Eval( "F_PicH ") %> 这种方式传参数就为空,如果把内容换成随便的字符串就不空,请问为什么会这样呢
------解决方案--------------------在OnPreRender/OnLoadComplete中处理即可……
你的DataBind方法一定要写在Page_Load中
------解决方案--------------------in ascx:
protected void Page_PreRender(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(OldName))
{
//这里可以取到值
}
}