加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在局部视图中Model为null

发布时间:2020-12-16 06:33:19 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试在布局页面中添加局部视图. 模型 public class SummaryPanelModel { public int TotalDesignDocs { get; set; } public int TotalVendorDocs { get; set; } public int TotalBusinessDocs { get; set; } public int TotalManagementDocs { get; se
我正在尝试在布局页面中添加局部视图.

模型

public class SummaryPanelModel
    {
        public int TotalDesignDocs { get; set; }
        public int TotalVendorDocs { get; set; }
        public int TotalBusinessDocs { get; set; }
        public int TotalManagementDocs { get; set; }
    }

SummaryPanel_Partial局部视图控制器:

public ActionResult SummaryPanel_Partial()
        {
            rep = new SummaryRepository();
            SummaryPanelModel model = new SummaryPanelModel();
            model = rep.ReadsummaryPanel();//read from database
            return View(model);
        }

布局页面

<!DOCTYPE html>
<html lang="en">
@{
    Layout = null;
}

 @Html.Partial("SummaryPanel_Partial")

SummaryPanel_Partial局部视图:

@model Doc.Web.Models.SummaryPanel.SummaryPanelModel

<div id="pnlBar">
    @Html.Label(Model.TotalDesignDocs.ToString())
<div/>

尽管我已经在控制器动作中传递了模型,但模型在局部视图中始终为null.

解决方法

@Html.Partial("SummaryPanel_Partial")

以这种方式调用部分不会调用控制器操作.相反,它只是查找视图SummaryPanel_Partial并呈现它.由于此时未提供模型,因此模型为空.

相反,调用Html.Action,它将调用控制器动作.

@Html.Action("SummaryPanel_Partial","Controller")

并改变你的行动:

public ActionResult SummaryPanel_Partial()
{
    // ...
    return PartialView(model);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读