Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC将模型发送到视图而不返回视图(模型)_Asp.net Mvc - Fatal编程技术网

Asp.net mvc MVC将模型发送到视图而不返回视图(模型)

Asp.net mvc MVC将模型发送到视图而不返回视图(模型),asp.net-mvc,Asp.net Mvc,我有一个网站,只有一个视图,其中包含几个局部视图。标签 我想将一个对象模型列表从我的操作发送到我的视图,但因为我只使用一个视图,它会干扰另一个模型,所以我无法将模型发送到该视图。可以将模型返回到我想要的局部视图,但这会破坏整个网站,只显示特定的局部视图,而不显示其他视图。我唯一能想到的另一个方法是viewbag,但我试过了,但我的行为并不像我想的那样 我试图传递到我的视图的文件必须具有高安全性。还有其他方法吗?您可以选择让它们都从同一个BaseViewModel类继承,在不需要该信息的页面上,有

我有一个网站,只有一个视图,其中包含几个局部视图。标签

我想将一个对象模型列表从我的操作发送到我的视图,但因为我只使用一个视图,它会干扰另一个模型,所以我无法将模型发送到该视图。可以将模型返回到我想要的局部视图,但这会破坏整个网站,只显示特定的局部视图,而不显示其他视图。我唯一能想到的另一个方法是viewbag,但我试过了,但我的行为并不像我想的那样


我试图传递到我的视图的文件必须具有高安全性。还有其他方法吗?

您可以选择让它们都从同一个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")