Asp.net mvc 3 Html.DropDownListFor使可见/不可见

Asp.net mvc 3 Html.DropDownListFor使可见/不可见,asp.net-mvc-3,Asp.net Mvc 3,我正在使用html助手的下拉菜单html.DropDownFor。。。在MVC3项目中 加载页面时,我希望此下拉菜单不可见。它将变得可见,具体取决于在同一页面上选择另一个下拉菜单。我已经编写了一些JQuery来处理这个问题,它使用了show和hide。这适用于文本框和标签,但我需要的是帮助程序本身的正确语法。我试过: <%:Html.DropDownListFor(a => Model.VariableOptionId, new { style = "display: none;"

我正在使用html助手的下拉菜单html.DropDownFor。。。在MVC3项目中

加载页面时,我希望此下拉菜单不可见。它将变得可见,具体取决于在同一页面上选择另一个下拉菜单。我已经编写了一些JQuery来处理这个问题,它使用了show和hide。这适用于文本框和标签,但我需要的是帮助程序本身的正确语法。我试过:

<%:Html.DropDownListFor(a => Model.VariableOptionId, new { style = "display: none;" })%>
<%:Html.DropDownListFor(a => Model.VariableOptionId, Visible = false })%>

正确的语法是什么?

您可以添加一个类,例如.dropdown并使用$'.dropdown'.toggle;切换可见性

MVC帮助程序语法为:

<%:Html.DropDownListFor(a => Model.VariableOptionId, new { @class = "dropdown" }) %>
工作示例:


编辑示例:

您可以添加一个类,例如.dropdown并使用$'.dropdown'.toggle;切换可见性

MVC帮助程序语法为:

<%:Html.DropDownListFor(a => Model.VariableOptionId, new { @class = "dropdown" }) %>
工作示例:


编辑示例:

我尝试了你的示例,但这不是我想要的。我希望该下拉列表在页面加载时不可见,并且在选择另一个dd菜单的选项时可见。我编辑了我的原始帖子,因为我不清楚我想做什么。我编辑了我的原始帖子。添加了“已编辑示例”。看看,看看这是不是你需要的。你只需要两个MVC下拉列表,而不是一个。谢谢尤塞尔。是的,我已经做了一些类似的事情。原理是一样的,我只是调用@change=myJavascript而不是submit按钮。谢谢转载。我试过你的例子,但这不是我想要的。我希望该下拉列表在页面加载时不可见,并且在选择另一个dd菜单的选项时可见。我编辑了我的原始帖子,因为我不清楚我想做什么。我编辑了我的原始帖子。添加了“已编辑示例”。看看,看看这是不是你需要的。你只需要两个MVC下拉列表,而不是一个。谢谢尤塞尔。是的,我已经做了一些类似的事情。原理是一样的,我只是调用@change=myJavascript而不是submit按钮。谢谢转载。我试过你的例子,但这不是我想要的。我希望下拉列表在加载页面时不可见,在选择另一个dd菜单的选项时可见。你的例子隐藏了一些变更事件的dd。我编辑了我的原始帖子,因为我不清楚我想做什么。我尝试了你的例子,但这不是我想要的。我希望下拉列表在加载页面时不可见,在选择另一个dd菜单的选项时可见。你的例子隐藏了一些变更事件的dd。我编辑了我的原始帖子,因为我不清楚我想做什么。
$(document).delegate('.toggle', 'click', function () {
    $('.dropdown').toggle();
});
 @model MvcApplication1.Models.ProductViewModel
    <script type="text/javascript"    src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>


      @using (Html.BeginForm())
       {    
        @Html.DropDownListFor(x => x.SelectedMainCatId, new    SelectList(Model.MainCategory,"Value","Text"), "Select Main..")
          @Html.DropDownListFor(x => x.SelectedSubCatId, new SelectList(Model.SubCategory, "Value", "Text"), "Select Sub..")    
        <button type="submit">Save</button>
       }
       <script type="text/javascript">
        $(function () {
            $("#SelectedMainCatId").change(function () {
                var val = $(this).val();
                if(val == 'anycondition')
                 {
                         $("#SubCategory").hide();
                 } 
                 else
                        $("#SubCategory").show();
            });
        });
    </script>