使用 ASP.NET Core MVC 6 将编辑器模板放入视图的文件夹中
Put editor templates in view's folder with ASP.NET Core MVC 6
使用 MVC 4 我能够将视图的编辑器模板放入视图的文件夹中:AwesomeApp/Views/UserMgmt/EditorTemplates/UserSettings.cshtml
。
现在我正在使用 ASP.NET Core MVC 6,它找不到编辑器模板。我必须将它们放入 AwesomeApp/Views/Shared/EditorTemplates/UserSettings.cshtml
。需要配置什么以便我不必将所有编辑器模板都放在这个文件夹中?
我正在为 ASP.NET MVC 使用最新版本的 Telerik Kendo UI。但我想这是应用程序本身的问题。
此致,
卡斯滕
这在(至少)核心 2.2 中开箱即用。在 one of the demos 中,他们将 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>
Home/Index.cshtml
@model TestEditorForModel
@Html.EditorFor(m => m)
输出
使用 MVC 4 我能够将视图的编辑器模板放入视图的文件夹中:AwesomeApp/Views/UserMgmt/EditorTemplates/UserSettings.cshtml
。
现在我正在使用 ASP.NET Core MVC 6,它找不到编辑器模板。我必须将它们放入 AwesomeApp/Views/Shared/EditorTemplates/UserSettings.cshtml
。需要配置什么以便我不必将所有编辑器模板都放在这个文件夹中?
我正在为 ASP.NET MVC 使用最新版本的 Telerik Kendo UI。但我想这是应用程序本身的问题。
此致, 卡斯滕
这在(至少)核心 2.2 中开箱即用。在 one of the demos 中,他们将 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>
Home/Index.cshtml
@model TestEditorForModel
@Html.EditorFor(m => m)
输出