【发布时间】:2013-04-30 20:21:42
【问题描述】:
我有以下代码:
<asp:DropDownList ID="ddlStudyYear" runat="server" SelectedValue='<%# Bind("StudyYearID") %>' DataSourceID="sdsStudyYears" DataTextField="StudyYearID" DataValueField="StudyYearID"></asp:DropDownList>
<asp:SqlDataSource ID="sdsStudyYears" runat="server" ConnectionString="<%$ ConnectionStrings:ATCNTV1ConnectionString %>" SelectCommand="SELECT StudyYearID FROM tblStudyYears ORDER BY StudyYearID"></asp:SqlDataSource>
但它不起作用,因为 Bind("StudyYearID") 来自代码下方的另一个 SqlDataSource,它返回一个 VARCHAR(3)。但是,上面的数据源 (sdsStudyYears) 返回一个值作为 CHAR(3)。
所以当我运行它时,我收到以下错误:
'ddlStudyYear' has a SelectedValue which is invalid because it does
not exist in the list of items.
我也无法在网上找到它,但是 Bind() 函数中必须有一种方法可以告诉它将 varchar 转换为 char。或者可能是围绕 SelectedValue 属性的函数来执行转换?
任何帮助表示赞赏。
谢谢
【问题讨论】:
标签: asp.net data-binding casting char varchar