根据单选按钮列表值显示隐藏文本框

时间:2015-08-15 05:25:59

标签: c# asp.net

如果txtsearch隐藏RadioButtonListvalue = OrderDate,我想隐藏txtsearch,如果选择了其他任何值,则显示txtsearch

我尝试了下面的代码它没有用

if (!IsPostBack)
{
    if (lblfield.SelectedValue == "OrderDate")
    {
         txtsearch.Visible = false;
    }
    else
    {
         txtsearch.Visible = true;
    }
}

<asp:RadioButtonList ID="lblfield" runat="server" CellPadding="10" CellSpacing="10" RepeatDirection="Horizontal" AutoPostBack="true" Width="460px">
       <asp:ListItem Selected="True" Value="Cust_Name">Customer</asp:ListItem>
       <asp:ListItem Value="OrderDate">Order Date</asp:ListItem>
       <asp:ListItem Value="TotalAmount">Total Amount</asp:ListItem>
       <asp:ListItem Value="InvoiceStatus">Invoice Status</asp:ListItem>
 </asp:RadioButtonList>


 <asp:TextBox ID="txtsearch" runat="server" class="form-control" placeholder="Search"></asp:TextBox>

3 个答案:

答案 0 :(得分:0)

您无需使用if (!IsPostBack)。只需删除if (!IsPostBack),然后代码就可以了。

protected void Page_Load(object sender, EventArgs e)
{

     if (lblfield.SelectedValue == "OrderDate")
     {
          txtsearch.Visible = false;
     }

     else
     {
          txtsearch.Visible = true;
     }
}

或者只是一行:

txtsearch.Visible = lblfield.SelectedValue == "OrderDate" ? false : true;

答案 1 :(得分:0)

最好为RadioButton SelectedIndexChanged创建一个活动。然后你可以在页面加载中调用它,你也可以控制它。

protected void Page_Load(object sender, EventArgs e)
{
    lblfield_SelectedIndexChanged(sender, e);
}

protected void lblfield_SelectedIndexChanged(object sender, EventArgs e)
{
    if (lblfield.SelectedValue == "OrderDate")
        txtsearch.Visible = false;
    else
        txtsearch.Visible = true;
}

答案 2 :(得分:0)

我认为在没有服务器调用的情况下使用JQuery更好,因为这样做太昂贵了。

相关问题