【问题标题】:MVC 3 Render Partial viewMVC 3 渲染局部视图
【发布时间】:2012-10-11 11:48:29
【问题描述】:

我在尝试渲染 PartialView 时遇到了一些问题。

我的控制器:

public ActionResult Index()
    {
        var db = new fanganielloEntities();
        List<imovel> imoveis = (from s in db.imovel
                                where s.StatusImovel == 3
                                select s).ToList();

        return PartialView(imoveis);
    }

     public ActionResult Listar()
     {
         return View();
     }

观点:

 @Html.Partial("TesteLista")

部分:

@model List Mvc4Web.Models.imovel
    @if (Model != null)
    {
foreach (var item in Model)
{
            @Html.DisplayFor(modelItem => item.DescricaoImovel)
 }
    }

错误:

对象引用未设置为对象的实例。

来源错误:

第 5 行:第 6 行:第 7 行:@foreach(模型中的变量项)第 8 行:{ 第 9 行:

提前致谢!!!

【问题讨论】:

    标签: asp.net-mvc-3 asp.net-mvc-partialview


    【解决方案1】:

    您应该将模型传递给部分视图

    在你的视野中

     @model List<Mvc4Web.Models.imovel>
    @Html.Partial("TesteLista",Model)
    

    【讨论】:

    【解决方案2】:

    Html.Partial 不会触发您的控制器操作。如果要在渲染 TesteLista 时触发 Index 操作,请使用

    @Html.Action("TesteLista") 
    

    改为。

    【讨论】:

    • 这就是我得到的:在控制器“Mvc4Web.Controllers.TesteController”上找不到公共操作方法“TesteLista”。
    • @Rodney 'TesteLista' 不是部分视图,因此您只有部分视图。并且在 checkinh if(Model !=null) 检查 if(Model.Count >0) 并检查您是否在 View 中传递 Model 以及是否将相同的模型转发到部分视图。
    • @Rodney,将 Index() 重命名为 TesteLista()。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多