Asp.net mvc MVC将模型发送到视图而不返回视图(模型)
我有一个网站,只有一个视图,其中包含几个局部视图。标签 我想将一个对象模型列表从我的操作发送到我的视图,但因为我只使用一个视图,它会干扰另一个模型,所以我无法将模型发送到该视图。可以将模型返回到我想要的局部视图,但这会破坏整个网站,只显示特定的局部视图,而不显示其他视图。我唯一能想到的另一个方法是viewbag,但我试过了,但我的行为并不像我想的那样Asp.net mvc MVC将模型发送到视图而不返回视图(模型),asp.net-mvc,Asp.net Mvc,我有一个网站,只有一个视图,其中包含几个局部视图。标签 我想将一个对象模型列表从我的操作发送到我的视图,但因为我只使用一个视图,它会干扰另一个模型,所以我无法将模型发送到该视图。可以将模型返回到我想要的局部视图,但这会破坏整个网站,只显示特定的局部视图,而不显示其他视图。我唯一能想到的另一个方法是viewbag,但我试过了,但我的行为并不像我想的那样 我试图传递到我的视图的文件必须具有高安全性。还有其他方法吗?您可以选择让它们都从同一个BaseViewModel类继承,在不需要该信息的页面上,有
我试图传递到我的视图的文件必须具有高安全性。还有其他方法吗?您可以选择让它们都从同一个BaseViewModel类继承,在不需要该信息的页面上,有些属性保留为空。如果不了解更多关于您想要发送的不同型号的信息,就很难更加具体 然后,每项行动都将使用:
public ActionResult Index()
{
var viewModel = new BaseViewModel();
return View(viewModel);
}
public ActionResult ShowList()
{
var viewModel = new BaseViewModel
{
ListProp = new MyList()
};
return View(viewModel);
}
使用儿童行为;它们是为这类事情而设计的: FooController.cs Views/Foo/GetListOfStuff.cshtml
注意:ChildActionOnly确保只能使用Html.action或Html.RenderAction调用此操作,而不是直接通过浏览器中的URL调用,因此您的数据与调用它的操作一样安全。非常感谢!极好的解决方案!效验如神
[ChildActionOnly]
public ActionResult GetListOfStuff()
{
// fetch listOfStuff
return PartialView(listOfStuff);
}
@model IEnumerable<Path.To.StuffModel>
@* HTML for displaying the list here *@
@model Path.To.SomeOtherModel
...
@Html.Action("GetListOfStuff", "Foo")