asp.net-mvc - 在 MVC 中呈现局部 View

标签 asp.net-mvc partial-views partialviews

我正在使用 MVC 结构。我必须创建一个可以通过下拉菜单过滤的报告。我正在使用局部 View 来显示报告。 这是我要实现的页面结构。 在页面顶部,会有一些下拉列表。 在这些下方将是报告页面。

当用户更改下拉列表中的选项时,报表将被过滤。

我有两个问题 1. 如何渲染局部页面。 2. 如何通过ajax/jquery刷新部分页面。我想在客户端执行此操作。

网上查了一下,我正在渲染页面,代码如下 查看

<h3>Report</h3>
<div>
    <table>
        <tr>
            <td>ServiceLine</td>
            <td>@Html.DropDownList("ServiceLine", null, new {id="ServiceLine"}) </td>
        </tr>
    </table>
</div>
<div>
    <h2>List</h2>
    <div>
        @Html.Partial("PartialView")
    </div>
</div>

这是我在 Controller 中得到的

public ActionResult PortfolioReport(char serviceLine)
{
    //Department List

     var serviceLines = Enum.GetValues(typeof(SogetiDepartments)).Cast<SogetiDepartments>().Select(v => new SelectListItem
    {
        Text = v.ToString(),
        Value = ((char)v).ToString(),
    });

     foreach (SelectListItem item in serviceLines)
     {
         if (Convert.ToChar(item.Value) == serviceLine)
             item.Selected = true;
     }


     ViewBag.ServiceLine = serviceLines;

    return View();
}

感谢任何形式的帮助。

最佳答案

你必须使用 jQuery 来实现这个功能

首先将一些标识符应用到您的数据容器

<div id="reportContent">
        @Html.Partial("PartialView")
</div>

然后使用 jQuery 在下拉更改事件上编写脚本

<script type="text/javascript">
$(function(){
    $("#ServiceLine").change(function{
    // get data from server using ajax
    var url = 'YourPartialPageURL?'+serviceLine+="="+$(this).val();
    $('#reportContent').load(url);
  });

});
</script>

注意:您应该在 Controller 操作中使用return PartialView(); 并且不要使用 @Html.Partial 而是使用 @Html.Action。 @Html.Partial 直接加载View,不去Controller Action。 如果你有数据要传递或者你只是想在页面上加载一些静态内容,应该使用它

关于asp.net-mvc - 在 MVC 中呈现局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16416346/

相关文章:

asp.net-mvc - ASP.NET MVC - 按角色显示表单值

javascript - ASP.NET MVC 4 AJAX.BeginForm 和 PartialViews

c# - JQuery Modal - 隐藏的 Div 与部分 View (MVC3)

c# - 当新模型实例传递给局部 View 时,字段仍然包含表单数据

asp.net-mvc-3 - 如何用另一个替换部分 View ?

asp.net-mvc - 为什么我丢失了 session 变量?

asp.net-mvc - 将 BootstrapValidator 与 MVC DataAnnotations 一起使用

javascript - 如何在 ReactJs.Net 的 JSX 文件中使用自定义 ReactJs 组件

c# - 新 View 或局部 View