我在 asp.net core 中创建“子”模板时遇到问题。 这个想法是在模板文件中定义一个完整的 html-bootstrap-block 并在另一个父/主 cshtml 文件中调用它。
ViewModel Person(填写 Controller )
namespace RazorTemplating.Models.HomeViewModels
{
public class Person
{
[Required]
[MinLength(2)]
public string Firstname { get; set; }
[Required]
[MinLength(2)]
public string Lastname { get; set; }
[MaxLength(3)]
public int Age { get; set; }
public Group MainGroup { get; set; }
}
}
Controller 调用的主视图(Index.cshtml)
编辑:输入模板标签引用自定义标签助手。
@model RazorTemplating.Models.HomeViewModels.Person
<div class="row">
<input-template for="Firstname" />
</div>
<div class="row">
<input-template for="Lastname" />
</div>
<div class="row">
<input-template for="Age" />
</div>
<div class="row">
<input-template for="MainGroup" />
</div>
Inputbox Bootstrap 模板文件 (InputBootstrapTemplate.cshtml)
@model dynamic
<div class="form-group">
<label asp-for="@Model" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="@Model" class="form-control" />
<span asp-validation-for="@Model" class="text-danger"></span>
</div>
</div>
我如何从input-template-标签帮助器填充模板文件的动态模型?
编辑:ASP.NET Core 中的模板提前发生了一些变化 https://github.com/aspnet/Razor/issues/788
最佳答案
据我了解,您想要渲染诸如自定义控件之类的内容。例如,用一行包装一些 html、标签、输入来呈现控件。正确的?在这种情况下tag helpers非常适合您的需求。
您还可以看看新功能 - view components 。它就像小型(一个 Action ) Controller + View 对。渲染 block 是很好的,比如新闻、最后添加的评论等。
欢迎询问详情。
关于c# - ASP.Net Core 中的模板化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37674824/