Поместите шаблоны редактора в папку просмотра с ASP.NET Core MVC 6

с MVC 4 Мне удалось установить шаблоны редактора представлений в папку просмотра: AwesomeApp/Views/UserMgmt/EditorTemplates/UserSettings.cshtml.

Теперь я использую ASP.NET Core MVC 6 и не находит шаблон редактора. Я должен положить их в AwesomeApp/Views/Shared/EditorTemplates/UserSettings.cshtml. Что нужно настроить, поэтому мне не нужно ставить все мои шаблоны редактора в этой папке?

Я использую последнюю версию пользовательского интерфейса Telerik Kendo для ASP.NET MVC. Но я думаю, что это что-то в самом приложении.

С уважением,  Карстен

Ответ 1

Это работает из коробки в (по крайней мере) ядро 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
    });
}

Главная /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>

Главная /Index.cshtml

@model TestEditorForModel

@Html.EditorFor(m => m)

Выход

enter image description here