c# – 将正确的数据模型传递给局部视图的正确方法
问题:
将viewmodel传递给局部视图时出现错误消息. 主页:Index.cshmtl,使用类DivisionModel @model DivisionViewModel @{ Layout = "~/Views/Shared/_Layout.cshtml"; } @*<h2>Division</h2>*@ <div> <!-- Nav tabs --> <ul class="nav nav-tabs" role="tablist" id="divTabs"> <li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li> </ul> <!-- Tab panes --> <div class="tab-content"> <!-- Home --> <div role="tabpanel" class="tab-pane active" id="home"> @Html.Partial("~/Views/Company/Division/_prtDivision.cshtml",new addDivisionViewModel()) </div> 部分视图:_prtDivision.cshmtl,使用addDivisionViewModel @model addDivisionViewModel @{ Layout = "~/Views/Company/Division/Index.cshtml"; } @{ ViewBag.Title = "Create"; } <h2>add division</h2> @using (Html.BeginForm("addDivision","Division",FormMethod.Post)) { @Html.AntiForgeryToken() <div class="form-horizontal"> <hr /> <div class="row"> <div class="col-sm-12"> @Html.ValidationSummary(false,string.Empty,new { @class = "text-danger" }) </div> </div> 但是,当我将’addDivionsViewModel传递给视图时. 即在tabpanel的索引页面上 @Html.Partial("~/Views/Company/Division/_prtDivision.cshtml",new addDivisionViewModel()) 我收到以下错误消息: 指示传递的模型不正确… @Html.Partial("~/Views/Company/Division/_prtDivision.cshtml",new DivisionViewModel()) 要么 @Html.Partial("~/Views/Company/Division/_prtDivision.cshtml",Model) 我收到以下消息: 所以,无论我发送到局部视图的模型是什么,VS告诉我它想要相反的模型? 我一直在讨论这个话题,因为看起来相对简单的事情并没有真正变得那么简单…… 我尝试过的: >添加addDivisionViewModel作为DivisionModel的属性并将Model.addDivisionViewModel传递给_prtDivision.cshtml 任何帮助将不胜感激 解决方法
您的局部视图有一个addDivisionViewModel模型,但它也包含
Layout = "~/Views/Company/Division/Index.cshtml"; 而Index.cshtml视图的模型是DivisionViewModel 它不能同时存在(除非一个来自另一个).从局部视图中删除Layout =“..”行(局部视图不应该有布局) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |