绑定ASP.NET中的SelectedValue

本文关键字:SelectedValue 中的 NET ASP 绑定 | 更新日期: 2023-09-27 18:15:16

我不知道为什么,但我真的很挣扎。我想绑定一个可空布尔属性到一个RadioButtonList:

<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(由Session支持)的MyMode l,它有一个可空的布尔属性MyProperty。将类型更改为string不会做任何事情。'bound'属性不会改变:如果它之前是一个字符串,它就是同一个字符串;如果它是空的,它仍然是空的

谁能告诉我我做错了什么?是否存在一些被抑制的转换问题?我没有得到编译或运行时错误

绑定ASP.NET中的SelectedValue

不能声明性地设置SelectedValue属性。您需要在后面的代码中执行此操作。

MyControl.SelectedValue = "False";

或者,如果你真的不想使用后台代码,你可以使用JavaScript。

<script type="text/javascript">
    var myControl = "<%= MyControl.ClientID %>";
    var myValue = "<%= InstanceOfMyModel.MyProperty %>";
    if (myValue == "True") {
        document.getElementById(myControl + "_0").checked = true;
    } else {
        document.getElementById(myControl + "_1").checked = true;
    }
</script>