根据客户端的条件呈现ASP.NET MVC局部视图

时间:2014-03-20 15:34:53

标签: jquery asp.net-mvc-4

在我们的ASP.NET MVC 4应用程序中,我们有四个部分视图:View1,View2,View3,View4。当用户从下拉列表中选择一个数字(例如2)并单击提交按钮时,我们只想渲染部分视图View2。同样,当选择3时,我们想渲染View3,依此类推。我尝试了以下但它不渲染View2。我假设我们不能从脚本标签内部执行此操作。

<div id="v2">
    <script>
        if (n==2) {
            @{Html.RenderPartial("View2");}
        }
    </script>
</div>

我们如何实现上述目标?

1 个答案:

答案 0 :(得分:1)

使用jQuery load方法在按钮的click事件上异步加载它。这样的事情。

$(function(){

  $(document).on("click","#btnItem1",function() {
     var val=$("#YourDropDownID").val();     
     if(val==2)
     {
        $("#DivContainerForCustForm").load("@Url.Action("CustomerForm","Home")");
     }
  });  

});

假设CustomerForm中有HomeController操作方法,则返回您需要的相关html标记。此操作可能会返回部分视图。

您可以更新您的jQuery选择器&amp; HTML标记使其更加通用,可以使用多个控件/ div。