Asp.net 如何使用<;%#bind(“将varchar与char进行比较?
我有以下代码:Asp.net 如何使用<;%#bind(“将varchar与char进行比较?,asp.net,data-binding,casting,char,varchar,Asp.net,Data Binding,Casting,Char,Varchar,我有以下代码: <asp:DropDownList ID="ddlStudyYear" runat="server" SelectedValue='<%# Bind("StudyYearID") %>' DataSourceID="sdsStudyYears" DataTextField="StudyYearID" DataValueField="StudyYearID"></asp:DropDownList> <asp:SqlDataSource ID
<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()函数中必须有一种方法告诉它将varchar强制转换为char。或者可能有一个围绕SelectedValue属性的函数来执行强制转换
谢谢你的帮助
谢谢找到解决方案
我从质疑的角度解决了这个问题
我将查询更改为
SELECT RTRIM(CAST(CASE WHEN StudyYearID = '0' THEN ' ' ELSE StudyYearID END AS VARCHAR(3))) AS StudyYearID FROM tblStudyYears
我知道CAST()是超级函数,但RTRIM()就是它的功用,但是强制返回值与gridview数据源中的VARCHAR()相同,现在两者都比较完美
如果能知道我是如何完全通过bind()函数来实现这一点的,那就太好了
SELECT RTRIM(CAST(CASE WHEN StudyYearID = '0' THEN ' ' ELSE StudyYearID END AS VARCHAR(3))) AS StudyYearID FROM tblStudyYears