Dim fs As List(Of HI.UserFriend) = New HI.FriendService().Proc_GetFriends(CType(Session("User"), NewUtil.User).ID)
For Each f In fs
Me.ddlFirend.Items.Add(New ListItem(f.FriendUser.UserID, f.FriendUser.ID))
Next
'Me.ddlFirend.DataTextField = "FriendUser.UserID"
'Me.ddlFirend.DataValueField = "FriendUser.ID"
'Me.ddlFirend.DataSource = New HI.FriendService().Proc_GetFriends(CType(Session("User"), NewUtil.User).ID)
'Me.ddlFirend.DataBind()FriendUser是一个有ID,UserID属性的类
New HI.FriendService().Proc_GetFriends返回list<FriendUser>为什么注掉的那段会出错,(说没有这个属性)改为上面那个不注掉的就行,我记得以前是可以的,是不是写错了?
For Each f In fs
Me.ddlFirend.Items.Add(New ListItem(f.FriendUser.UserID, f.FriendUser.ID))
Next
'Me.ddlFirend.DataTextField = "FriendUser.UserID"
'Me.ddlFirend.DataValueField = "FriendUser.ID"
'Me.ddlFirend.DataSource = New HI.FriendService().Proc_GetFriends(CType(Session("User"), NewUtil.User).ID)
'Me.ddlFirend.DataBind()FriendUser是一个有ID,UserID属性的类
New HI.FriendService().Proc_GetFriends返回list<FriendUser>为什么注掉的那段会出错,(说没有这个属性)改为上面那个不注掉的就行,我记得以前是可以的,是不是写错了?
'Me.ddlFirend.DataValueField = "FriendUser.ID"这两行不要注释
有注释的4行是一种
上面是另一种 Me.ddlFirend.DataTextField = "FriendUser.UserID"
Me.ddlFirend.DataValueField = "FriendUser.ID"
Me.ddlFirend.DataSource = New HI.FriendService().Proc_GetFriends(CType(Session("User"), NewUtil.User).ID)
Me.ddlFirend.DataBind()这样绑定会报错
应该是要去掉双引号吧!!
双引号括着不是代表是字符串而已嘛!! 哪会调用你的属性?
DataValueField
是要绑定字段名称! 比如你是数据库的字段名为 ID 和 valueDataValueField="ID";
DataTextField="value";这样的吧!
FriendUser是一个类,ID和UserID是它的属性。
DataTextField="value";
Me.ddlFirend.DataValueField = "ID"
'Me.ddlFirend.DataValueField = "ID"
‘Me.ddlFirend.DataSource = New HI.FriendService().Proc_GetFriends(CType(Session("User"), NewUtil.User).ID)
’Me.ddlFirend.DataBind()把frienduser去掉尝试一下
这样子是没有问题的啊。只是我刻以前
'Me.ddlFirend.DataTextField = "FriendUser.UserID"
'Me.ddlFirend.DataValueField = "FriendUser.ID"
这样子也是没有问题的。 还是我记错了?