2015-08-15 141 views
1

我想隐藏txtsearchRadioButtonListvalue = 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> 
+0

将RadioButtonList设置为“OrderDate”的事件是什么? –

回答

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; 
0

这是更好地为您RadioButtonSelectedIndexChanged创建活动。然后你可以在页面加载时调用它,并且你可以对它进行更多的控制。

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; 
} 
0

我认为最好不要使用服务器调用JQuery,因为这太昂贵了。

相关问题