我不知道为什么,但我真的很苦恼。我想一个可空布尔属性绑定到一个单选按钮列表:在ASP.NET中绑定SelectedValue
<asp:RadioButtonList ID="MyControl" runat="server" SelectedValue='<%# Bind("InstanceOfMyModel.MyProperty") %>'>
<asp:ListItem Text="Yes" Value="True"></asp:ListItem>
<asp:ListItem Text="No" Value="False"></asp:ListItem>
</asp:RadioButtonList>
我可以通过MyControl
访问的价值,但我似乎无法给SelectedValue
属性绑定。此页面背后的代码有一个公共属性InstanceOfMyModel
(由会话支持)MyMode
l,它具有可为空的布尔值属性MyProperty
。将类型更改为字符串不会执行任何操作。 'bound'属性不会改变:如果它是之前的字符串,它是相同的字符串;如果它为空,它仍然是空的。
谁能告诉我我做错了什么?是否存在一些抑制转换问题?我没有收到编译或运行时错误。
我发现这一个简单的搜索... http://stackoverflow.com/questions/3482477/how-to-bind-bool-to-radiobutton-in-asp-net希望它有助于.. –
@Angela谢谢你的尝试。这种情况是试图绑定到一个单选按钮的'Checked'属性,这是一个布尔值,但RadioButtonList的'SelectedValue'属性是一个字符串。 – ricksmt
如果'MyControl'不在重复数据的控件(ListView,GridView等)中,则您的绑定将不起作用。使用后面的代码:'if(!Page.IsPostBack){MyControl.SelectedValue =“False”; }' – VDWWD