asp.net显示选中项目的文本框

时间:2016-08-27 11:05:23

标签: c# asp.net

所以刚开始使用asp.net ...我想在选中复选框时显示我的文本框,但这似乎不起作用。我也试过了可见属性,但那也没有用。我究竟做错了什么?

代码:

rplaceFragment(Fragment fragment , int id){
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.replace(id, fragment);
        fragmentTransaction.commit();
    }

布局:

    protected void checked_CheckedChanged(object sender, EventArgs e)
    {
        text.Style["display"] = "block";
    }

3 个答案:

答案 0 :(得分:2)

使用android:layout_height="match_parent" 属性复选框并将其设置为AutoPostBack

true

答案 1 :(得分:1)

您可以在c#中使用textbox的add css属性,如下所示。如果您的复选框OnCheckedChanged无效,则可以在复选框中设置属性AutoPostBack为真。

protected void checked_CheckedChanged(object sender, EventArgs e)
{
    text.Attributes.Add("display","block");
}

答案 2 :(得分:0)

您也可以使用jQuery或javascript完全在客户端执行此操作。每当您需要更改HTML的视觉外观时,将帖子发回服务器可能会给服务器带来不必要的压力并对用户产生负面影响通过降低网站的整体性能来体验。

<head runat="server">
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            var id = "<%: text.ClientID %>";
            id = "#" + id;
            $(id).hide();

            $("#chkShowHide").change(function () {
                if (this.checked) {
                    $(id).show();
                }
                else{
                    $(id).hide();
                }
            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <input id="chkShowHide" type="checkbox" />&nbsp;Show\Hide<br />
        <asp:TextBox runat="server" ID="text"></asp:TextBox>
    </form>
</body>