asp.net Usercontrol +控制值总是返回true

时间:2013-02-19 09:09:40

标签: asp.net user-controls

我正在尝试构建一个简单的动画'on'& 'off'开关控制带有一个底层复选框,用于存储状态,只要'switch block'左右移动(On和Off),当我导入控制到我需要使用的页面时,我得到的值总是为True ,请告诉我我做错了什么。感谢:

ASCX:

<html>
<head>
    <title></title>

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"> </script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"> </script>
</head>
<body>

    <div class="switchcontainer">
        <div id="on">On</div>
        <div id="off">Off</div>
        <div class="block"></div>
    </div>
    <asp:CheckBox ID="chkSwitch" runat="server" Style="display:none"/>

            <script>
                $(".block").click(function () {
                    var $button = $(".block");
                    if ($button.data("lastMove") == "+=46") {
                        $('#<%= chkSwitch.ClientID %>').removeAttr('checked'); // --> change check state
                        $button.animate({
                            left: '-=46'
                        });
                        $button.data("lastMove", '-=46');
                    } else {
                        $('#<%= chkSwitch.ClientID %>').attr('checked', 'checked'); // --> change check state
                        $button.animate({
                            left: '+=46'
                        });
                        $button.data("lastMove", '+=46');
                    }
                });
</script>

</body>
</html>

ASCX.CS

public partial class BoolSwitch : System.Web.UI.UserControl
    {
        public bool On    
        {
            get { return chkSwitch.Checked; }
        }
    }

使用usercontrol的某些页面:

<%@ Register TagPrefix="BoolSwitch" TagName="BoolSwitch" Src="/UserControls/BoolSwitch.ascx" %>

<BoolSwitch:BoolSwitch runat="server" ID="boolSwitch_1" />

代码背后:

        protected void Page_Load(object sender, EventArgs e)
        {
            var x = boolSwitch_1.On; // --> This value is always true;
        }

0 个答案:

没有答案