C# 基于下拉框选择隐藏/显示表单

C# 基于下拉框选择隐藏/显示表单,c#,javascript,asp.net,asp.net-mvc,ado.net,C#,Javascript,Asp.net,Asp.net Mvc,Ado.net,我环顾四周,没有发现任何具体的东西 是否有关于如何基于是否选择值显示/隐藏表单或文本框的教程 我有一个类似的下拉框,上面有Add、item1、item2、item3等 如果选择了“添加”,则显示要添加的表单,该表单具有一些属性,如名字、姓氏等。。否则它将只对所选项目执行一个操作。我将在客户机代码中对此进行连接。在JavaScript或jQuery中处理select的onchange事件,并将处理程序绑定到它。由于Add是唯一一个显示表单的,因此在处理程序中检查所选的值,如果是Add的值,则显示表

我环顾四周,没有发现任何具体的东西

是否有关于如何基于是否选择值显示/隐藏表单或文本框的教程

我有一个类似的下拉框,上面有Add、item1、item2、item3等


如果选择了“添加”,则显示要添加的表单,该表单具有一些属性,如名字、姓氏等。。否则它将只对所选项目执行一个操作。

我将在客户机代码中对此进行连接。在JavaScript或jQuery中处理select的onchange事件,并将处理程序绑定到它。由于Add是唯一一个显示表单的,因此在处理程序中检查所选的值,如果是Add的值,则显示表单。如果它是任何其他值,请隐藏窗体

如果要在服务器代码中执行此操作,只需处理更改选择的事件,并以这种方式设置窗体的可见性属性。无论哪种方式都应该很容易

在客户机上执行此操作可以避免在回发周围编码,同时免除处理来自服务器的请求的责任

<select id="target">
    <option value="option1" selected="selected">Add</option>
    <option value="option2">Item1</option>
  </select>

<input type="text" class="textboxclass" />

<div class="someform">
//content
</div>
Jquery脚本

<script>
$('#target').change(function() {
  var name = $('#target option:selected'),text(); //Item1
  var id = $('#target').val(); // option2

  if(id =="option2"){
   //your logic for this option
   //hide textbox
   $('.textboxclass').hide();
   $('.someform').show();
   }else{
   $('.textboxclass').show();
   $('.someform').hide();

}
   //other if else logic

});
</script>

未测试,因为im在笔记本电脑上未安装任何软件。

如果要从服务器端执行此操作,需要将DrowDown列表的AutoPostBack属性设置为true

在DropdownList的SelectedIndexChanged事件中

试试这个

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
     if (DropDownList1.SelectedIndex == 0)
     {
         entryForm.Visible = true;
         viewForm.Visible = false;
     }
     else if (DropDownList1.SelectedIndex == 1)
     {
         entryForm.Visible = false;
         viewForm.Visible = true;

}

但是这不是一个好的解决方案,我建议按照上面给出的答案,用JavaScript或JQuery来实现它

嘿,除了一个bug之外,这非常有效,只要页面加载完毕,就会显示所有div。例如,如果“我的选项1”在页面上启动,则textboxclass和someform都可见,其中只有一个应该可见。添加显示:对于您希望隐藏的所有div,在css中无
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
     if (DropDownList1.SelectedIndex == 0)
     {
         entryForm.Visible = true;
         viewForm.Visible = false;
     }
     else if (DropDownList1.SelectedIndex == 1)
     {
         entryForm.Visible = false;
         viewForm.Visible = true;

}