Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/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
C# 如何从razor页面处理程序呈现视图?_C#_Asp.net Core_Razor Pages - Fatal编程技术网

C# 如何从razor页面处理程序呈现视图?

C# 如何从razor页面处理程序呈现视图?,c#,asp.net-core,razor-pages,C#,Asp.net Core,Razor Pages,我有一个项目的集合,我需要用户能够添加和删除它们,而无需实际发表文章。默认情况下,将使用2项呈现页面。然后,用户可以根据需要添加和删除。然后,当他们完成时,有一个提交按钮将触发帖子 我似乎无法使我的编辑器或模板进行渲染。我一直收到一个500错误 Shared/EditorTemplates/MyObjectModel @model Models.Common.MyObjectModel <div> <h5>User #@Model.UserId</h5>

我有一个项目的集合,我需要用户能够添加和删除它们,而无需实际发表文章。默认情况下,将使用
2项
呈现页面。然后,用户可以根据需要添加和删除。然后,当他们完成时,有一个提交按钮将触发帖子

我似乎无法使我的
编辑器或模板
进行渲染。我一直收到一个
500
错误

Shared/EditorTemplates/MyObjectModel

@model Models.Common.MyObjectModel

<div>
   <h5>User #@Model.UserId</h5>
</div>
<div>
    <select asp-for="@Model.UserType"
            asp-items="@(new SelectList((Dictionary<string, Models.Enums.UserTypes>)ViewData["MyUserTypes"],"Value","Key"))"></select>
</div>

500表示未处理的异常。检查“输出”窗口以查看实际输出的内容happening@CamiloTerevinto由于某种原因,它找不到该页。我只是在
共享
之前添加了
页面
,但它仍然找不到。我这样做是正确的还是应该返回ViewResult?@CamiloTerevinto如果你知道的话,还有没有更干净的方法将模型传递给
编辑器或模板
?这就是我想要的,我只是返回一个
PartialViewResult
,因为我不知道还需要返回什么,也找不到其他任何内容。@CamiloTerevinto一旦我将返回类型更改为
ViewResult()
,它就会找到文件。现在我得到了一个
值不能为null
错误,我必须跟踪它。问题是,编辑器模板应该由
@Html.EditorFor
调用使用,而不是作为独立视图呈现。这就是为什么我建议部分观点
 public IActionResult OnGetEmptyStopTemplate()
 {
      var viewDataBase = new ViewDataDictionary(new Microsoft.AspNetCore.Mvc.ModelBinding.EmptyModelMetadataProvider(), 
                new Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary())
      {
          { "MyUserTypes", UserTypes}
      };

      ViewDataDictionary<MyObjectModel> viewdata = new ViewDataDictionary<MyObjectModel>(viewDataBase , new MyObjectModel());
            return new PartialViewResult() { ViewName = "~/Shared/EditorTemplates/MyObjectModel", ViewData = viewdata };
 }