【发布时间】:2016-07-11 09:44:25
【问题描述】:
对 MVC 很陌生,所以请多多包涵。我正在尝试从不同的控制器在模态中加载部分视图,每次尝试查看它时,我都会得到一个空的模态。我相信这是因为我无法在视图中实例化我的模型。
例如我有一个控制器“主页”,其方法“详细信息”从不同的视图文件夹返回部分视图。控制器的本机模型是“模型”,而属于我的另一个控制器的模型是“模型2”。
public ActionResult Details() {
model2.User = user; //this is a global variable
model2.GetDetails();
return PartialView("~/Views/...Details", model2);
}
我确定原因是因为我缺少视图中的模型数据。我尝试将另一个 @model... 添加到视图中,但显然这不起作用。
有没有办法做我想要完成的事情?它甚至可能是一个相对肮脏的解决方案,因为这是暂时的权宜之计。
重读这篇文章有点令人费解,所以如果需要任何澄清,请告诉我。
谢谢
【问题讨论】:
-
你是如何尝试显示部分内容的? (您需要使用
@Html.Action()) -
嘿,我不认为这是一个问题,因为视图没有改变。它正在与另一个控制器(它的本机控制器)一起工作,但我不得不暂时将其更改为使用另一个控制器。我正在使用 ajax 调用控制器,并成功填充 div,如 $('#partial').html(data);
-
然后显示你的相关代码并指出你的问题是什么(它只是
return PartialView(model2);) -
对于具有不同控制器的动态局部视图,使用一个视图模型来保存多个模型可能是合理的(结合stackoverflow.com/questions/7968234/…的解决方案)。
标签: c# jquery .net asp.net-mvc asp.net-mvc-4