在DataList使用 用户控件 并 绑定属性 时可能的问题的解决办法

我在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 );
        }
    }


 

你可能感兴趣的:(datalist)