与Controller中的其他ActionResult一起使用的C#MVC4部分视图

时间:2014-07-11 11:51:24

标签: asp.net-mvc c#-4.0 razor model-view-controller partial-views

我有一个问题。 我有我的Controller" DashboardNB2Controller",我的View" index.cshtml"我想整合一个名为" _PartialView.cshtml"的部分视图在我的" index.cshtml"。两个视图都在同一个文件夹中。在我的控制器中,我有" ActionResult _PartialView"在我的局部视图中进行数据库操作。

但如果我将我的部分视图集成到我的索引视图中,则操作结果" _PartialView"没有工作。我没有结果。我的数据库的查询是正确的。我查了一下。

这是我的代码

  1. 我的控制器与部分视图的ActionResult

    public ActionResult _PartialView()
    {
        var lastMessages= (from t in db.view_tbl_message
                                         orderby t.Date descending
                                         select t).Take(10);
    
    
    
        ViewModelDashboard model = new ViewModelDashboard();
        model.view_tbl_message = lastMessages.ToList();
    
    
        return PartialView("_PartialView", model);
    
    }
    
  2. 我的index.cshtml

     @model AisWebController.Areas.Statistics.Models.ViewModelDashboard
    
    
    @{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
    
     }
    
    <br />
         @{Html.Action("_PartialView", "DashboardNB2");}
    
    <br />
    

    我的_PartialView.cshtml

     @model WebApplication.Areas.Stats.Models.ViewModelDashboard
    
     <table class="table table-bordered">
    <tr>
            <th>
                Date
            </th>
            <th>
                User
            </th>
            <th>
                Message
            </th>
    
        </tr>
     @foreach (var item in Model.view_tbl_message)
     {
    
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.Date
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.User)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Message) 
                </td>
    
            </tr>
    
    
        }
    </table>
    

    如果有人可以提供帮助 - 这将是令人厌恶的!

2 个答案:

答案 0 :(得分:3)

更改

 @{Html.Action("_PartialView", "DashboardNB2");}

 @Html.Action("_PartialView", "DashboardNB2")

答案 1 :(得分:0)

在查看Html扩展方法{}之后,您不需要@括号

看看你的@Html.DisplayFor它没有{}括号。

同样适用于@Html.ActionLink