Asp.net 获取数据绑定方法,如Eval()、XPath()和Bind()只能在数据绑定控件错误的上下文中使用
我得到一个数据绑定方法,如Eval、XPath和Bind,只能在数据绑定控件的上下文中使用。错误消息。我在这里查看了其他人对该错误的看法。在我看来,似乎有些人把绑定语法弄错了。我相信我使用的是正确的数据绑定,但我可能错了。错误发生在DropDownList的第一行。我用的是VS 2015Asp.net 获取数据绑定方法,如Eval()、XPath()和Bind()只能在数据绑定控件错误的上下文中使用,asp.net,data-binding,Asp.net,Data Binding,我得到一个数据绑定方法,如Eval、XPath和Bind,只能在数据绑定控件的上下文中使用。错误消息。我在这里查看了其他人对该错误的看法。在我看来,似乎有些人把绑定语法弄错了。我相信我使用的是正确的数据绑定,但我可能错了。错误发生在DropDownList的第一行。我用的是VS 2015 <asp:DropDownList runat="server" ID="ddlUsersRating" AutoPostBack="True" DataSourceID="sdsUserRati
<asp:DropDownList runat="server" ID="ddlUsersRating" AutoPostBack="True"
DataSourceID="sdsUserRatings" DataTextField="RatingID"
DataValueField="RatingID" Height="16px"
SelectedValue='<%# Bind("RatingID") %>'
AppendDataBoundItems="False"
OnSelectedIndexChanged="ddlUsersRating_SelectedIndexChanged">
<asp:ListItem Value="">(Select a Rating)</asp:ListItem>
<asp:ListItem Value="1">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
<asp:ListItem Value="3">3</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem>
<asp:ListItem Value="5">5</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource runat="server" ID="sdsUserRatings"
ConnectionString="<%$ ConnectionStrings:VideoLibraryConnectionString %>"
InsertCommand="INSERT INTO UserRatings(UserID, ShowID, RatingID) VALUES (@UserID, @ShowID, @RatingID)"
SelectCommand="SELECT UserRatings.RatingID FROM UserRatings INNER JOIN Users ON UserRatings.UserID = Users.UserID WHERE (UserRatings.ShowID = @ShowID) AND (Users.UserID = @UserID)"
UpdateCommand="UPDATE UserRatings SET RatingID = @RatingID WHERE (UserID = @UserID) AND (ShowID = @ShowID)" OnInserted="sdsUserRatings_Inserted">
<InsertParameters>
<asp:ControlParameter ControlID="ddlUsers" Name="UserID"
PropertyName="SelectedValue" />
<asp:RouteParameter Name="ShowID" RouteKey="ShowID" />
<asp:ControlParameter ControlID="ddlUsersRating" Name="RatingID"
PropertyName="SelectedValue" />
</InsertParameters>
<SelectParameters>
<asp:RouteParameter Name="ShowID" RouteKey="ShowID" />
<asp:ControlParameter ControlID="ddlUsers" Name="UserID"
PropertyName="SelectedValue" />
</SelectParameters>
<UpdateParameters>
<asp:ControlParameter ControlID="ddlUsersRating" Name="RatingID"
PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="ddlUsers" Name="UserID"
PropertyName="SelectedValue" />
<asp:RouteParameter Name="ShowID" RouteKey="ShowID" />
</UpdateParameters>
</asp:SqlDataSource>
此错误意味着您只能使用Bind、Eval、XPath,前提是您的对象是数据绑定的,这意味着它有数据源 根据你看到的DropDownList,你在其中嵌入了静态值,为空,1-5 从下拉列表中删除此属性:SelectedValue= 那就这么做吧 在一个表单事件中,让我们说加载
Protected Sub Page_Load()
Dim RatingID = (some select query here to get RatingID)
ddlUserRating.ClearSelection()
ddlUserRating.Items.FindByValue(RatingID).Selected = True
End Sub