我在 asp.net核心中创建“sub”模板时遇到问题。 我们的想法是在模板文件中定义一个完整的html-bootstrap-block,并在另一个父/ master cshtml文件中调用它。
ViewModel Person(填入控制器)
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; }
}
}
控制器调用的主视图(Index.cshtml)
修改:输入模板 -tags引用自定义标记帮助程序。
@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>
如何从输入模板 -tag帮助程序填充模板文件的动态模型?
编辑:事先在ASP.NET Core https://github.com/aspnet/Razor/issues/788
中进行模板化答案 0 :(得分:2)
据我了解,您希望渲染类似自定义控件的内容。例如,渲染控件包含一些包装html,标签,输入一行。对?在这种情况下,tag helpers非常适合您的需求。
您还可以查看新功能 - view components。它就像小(一个动作)控制器+视图对。最好是渲染块,比如新闻,最后添加的评论等。
随时询问详情。