背景:我正在使用ASP.NET 2.0(使用C#),下面的代碼是嵌入在DataGrid控件中的 。 我在.aspx文件如下:ASP.NET - 輕鬆交換布爾值的方法?
<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>
它應該綁定在RadioButtonList CRS_Included布爾值。它工作,但以相反的順序。是轉爲否,否轉爲是,我可以看到解決它的唯一方法是交換ListItems的順序,這是違反直覺的(單選按鈕不應該像No/Yes一樣開始,它需要成爲是/否)。
有沒有人知道一個快速的方法(最好使用.NET函數)將0替換爲0,1替換爲0並無縫修復問題?或者,有沒有更好的方式來編寫SelectedIndex代碼?
任何幫助理解:-)
如果你喜歡喬恩的答案,你應該將其標記爲接受! – 2009-02-11 01:56:57