我在DataList使用用户控件并且绑定自定义属性时遇到的问题
问题1:
分析器错误信息: 服务器标记的格式不正确。
解:比较ControlURL="ModifyReply.aspx" ObjectID='<%# Eval("User_ID") %>'
可见常量属性和绑定属性用的符号不同(单引号和双引号)。
问题2:
如何把一个用户控件的属性定义为Bindable(可绑定属性)?有必要么?
解:没有必要。在aspx文件中使用 myText='<%# Eval("User_nickname") %>'即可绑定
虽然在控件的显示智能绑定->编辑 DataBindings...中没有你想要绑定的属性,但是可以在源视图中手动添加上面这一段
问题3:
System.InvalidOperationException: Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。
解:检查一下有没有问题1中标点符号的问题
问题4:
不提示出错,但是获取不到数据,没有显示,没有返回。
解:检查用户控件中数据绑定的位置是不是在Form_Load中,并尝试在自定义属性中再次调用Page_Load和相应的刷新代码。
public string UserID
{
get
{
return tUserID;
}
set
{
tUserID = value;
Page_Load(null, null);
}
}
{
get
{
return tUserID;
}
set
{
tUserID = value;
Page_Load(null, null);
}
}
![](http://www.cnblogs.com/Emoticons/baimantou/202015214.gif)