背景:我使用的是 ASP.NET 2.0(使用 C#),下面的代码嵌入在 DataGrid 控件中。我的 .aspx 文件中有以下内容:
<ASP:TEMPLATECOLUMN HeaderText="Includes CRS Statement?">
<ITEMTEMPLATE>
<asp:RadioButtonList id="rblSCIncludesCRSStatement" runat="server" RepeatDirection="Horizontal"
SelectedIndex='<%# Convert.ToInt32(DataBinder.Eval(Container, "DataItem.CRS_Included")) %>'
DataValueField="CRS_Included" RepeatLayout="Flow">
<asp:ListItem value="true" selected="true">Yes</asp:ListItem>
<asp:ListItem value="false">No</asp:ListItem>
</asp:RadioButtonList>
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
<ASP:BOUNDCOLUMN visible="false" HeaderText="IncludesCRSStatement" DataField="CRS_Included"></ASP:BOUNDCOLUMN>
它应该将布尔值 CRS_Included 与 RadioButtonList 绑定。它有效,但顺序相反。是变成否,否变成是,我能看到解决它的唯一方法是交换 ListItems 的顺序,这将是违反直觉的(单选按钮不应该像否/是的那样开始,它需要是/否)。
有谁知道一种快速方法(最好使用 .NET 函数)将 0 换成 1、1 换成 0 并无缝解决问题?或者,有没有更好的方法来编写 SelectedIndex 代码?
任何帮助表示赞赏:-)