asp.net-mvc - 带列表的 MVC 部分 View

标签 asp.net-mvc razor asp.net-mvc-partialview

已回答

Dbaseman 是正确的,但为了简化这一切,我不需要模态,我的代码现在如下所示:

[ChildActionOnly]
public ActionResult RecentNews()
{
    return PartialView(db.Articles.ToList());
}

@{Html.RenderAction("RecentNews");}

下面是我的旧代码,无法正常工作

我在执行以下操作时遇到困难,我不确定我是否接近正确的轨道。如果我创建一个 View ,代码一切正常,但如果我创建一个部分 View 并将其添加到其他 View ,则代码就不能正常工作。无论我尝试什么,我似乎都会收到错误:对象引用未设置到对象的实例。

在我看来,我有:

@Html.Partial("RecentNews")

我的操作如下所示:

public ActionResult RecentNews()
{
    var rn = (from m in db.Articles
                select new RecentNews
                {
                    ArticleHeading = m.ArticleHeading
                });
    return View(rn);

    //return View(db.Articles.ToList());
}

我的模态:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace melbournesportsstadium.Models
{
    public class RecentNews
    {
        public string ArticleHeading { get; set; }
    }
}

还有我的RecentNews.cshtml:

@model List<melbournesportsstadium.Models.RecentNews>

<table>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.ArticleHeading)
        </td>
    </tr>
}

</table>

有人可以帮我让它工作吗?

最佳答案

您收到“空引用”,因为分部 View 未接收任何模型; @Html.Partial 不会返回到 Controller ,它直接渲染 View 。将其更改为 @Html.Action("RecentNews") 它应该可以工作。

关于asp.net-mvc - 带列表的 MVC 部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10611978/

相关文章:

c# - ASP.NET MVC 局部 View : How to fix "Error executing child request..." error?

c# - 通过运行 asp.net mvc Web 应用程序的 IIS 访问映射驱动器

asp.net-mvc - 直接在 Controller 中从 ActionResult 获取结果

javascript - 在文本框中插入随机文本 cshtml javascript MVC3

sql-server - 如何实现记录更改的自动时间戳 (SQL Server)

asp.net - 在 MVC 中,如何确定部分 View 响应是否有效(在客户端)?

c# - Razor 语法/WebMatrix - C# 问题

c# - 使用 EditorFor 和 LabelFor 重构呈现不同属性的类似 CHTML

asp.net-mvc - 部分 View 的验证总结

asp.net-mvc - 如何在单击 Html.ActionLink 时加载部分 View ?