Asp.net core mvc 将编辑器模板置于视图中';具有ASP.NET核心MVC 6的s文件夹

Asp.net core mvc 将编辑器模板置于视图中';具有ASP.NET核心MVC 6的s文件夹,asp.net-core-mvc,kendo-asp.net-mvc,mvc-editor-templates,Asp.net Core Mvc,Kendo Asp.net Mvc,Mvc Editor Templates,使用MVC4,我能够将视图的编辑器模板放入视图的文件夹:AwesomeApp/Views/UserMgmt/EditorTemplates/UserSettings.cshtml 现在我使用的是ASP.NET Core MVC 6,它找不到编辑器模板。我必须将它们放入AwesomeApp/Views/Shared/EditorTemplates/UserSettings.cshtml。需要配置什么,以便我不必将所有编辑器模板都放在这个文件夹中 我使用的是最新版本的Telerik的剑道UI for

使用MVC4,我能够将视图的编辑器模板放入视图的文件夹:
AwesomeApp/Views/UserMgmt/EditorTemplates/UserSettings.cshtml

现在我使用的是ASP.NET Core MVC 6,它找不到编辑器模板。我必须将它们放入
AwesomeApp/Views/Shared/EditorTemplates/UserSettings.cshtml
。需要配置什么,以便我不必将所有编辑器模板都放在这个文件夹中

我使用的是最新版本的Telerik的剑道UI for ASP.NET MVC。但我想这是应用程序本身的问题

致以最良好的祝愿,
Carsten

这在(至少)core 2.2中是开箱即用的。在中,他们将EditorTemplates文件夹放在视图文件夹下,而不是共享文件夹下

我自己用下面的代码测试了这个

public class TestEditorForModel
{
    [Display(Name = "Testing a string property")]
    public string StringProp { get; set; }

    [Display(Name = "Testing an integer property")]
    [Range(100, 1000)]
    public int IntProp { get; set; }

    [Display(Name = "Testing a decimal property")]
    public decimal DecProp { get; set; }
}
HomeController.cs

public IActionResult Index()
{
    return View(new TestEditorForModel
    {
        StringProp = "testing editorfor",
        IntProp = 123,
        DecProp = 123.456m
    });
}
Home/EditorTemplates/TestEditorForModel.cshtml

@model TestEditorForModel

<div>
    <label asp-for="StringProp"></label>
    <input asp-for="StringProp" placeholder="Testing" />
</div>

<div>
    <label asp-for="IntProp"></label>
    <input asp-for="IntProp" placeholder="123" />
</div>

<div>
    <label asp-for="DecProp"></label>
    <input asp-for="DecProp" placeholder="100.00" />
</div>
输出


您是否尝试将其更改为ViewComponent?出于各种原因,我们切换回MVC 5。所以我不能再检查这个了。使用
IViewLocationExpander
接口应该可以做到这一点。一个例子是可用的好知道!我不能再测试了,但我相信你的截图是真实的
@model TestEditorForModel

@Html.EditorFor(m => m)