在ASP.Net核心模板
问题描述:
我有一个问题在asp.net核心创建一个“子”模板。 这个想法是在模板文件中定义一个完整的html-bootstrap块,并在另一个父/主cshtml文件中调用它。在ASP.Net核心模板
视图模型的人(填充在控制器)
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)
编辑:本输入模板标签都有效引用自定义标签帮手。
@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>
输入框引导模板文件(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>
我如何填写模板文件中的动态模型,从输入模板 - 标签帮手?
编辑:一些预先的模板改变ASP.NET核心https://github.com/aspnet/Razor/issues/788
答
据我了解,你要呈现类似的自定义控件。例如,使用一些包装html,标签,输入一行来呈现控件。对?在这种情况下,tag helpers适合您的需求非常好。
你也可以看看新功能 - view components。它就像小(一个动作)控制器+视图对。这是很好的渲染块,如新闻,最后添加评论等。
随时问细节。
我知道,* *标签来自自定义标签助手。问题是:如何将ViewModel和Property传递给InputBoostrapTemplate.cshtml中的动态模型? –
不知道:(我使用标签助手只从代码生成HTML:https://github.com/Platformus/Platformus/tree/master/src/Platformus.Barebone.Backend/Areas/Backend/Code/TagHelpers –