【发布时间】:2018-04-17 21:52:29
【问题描述】:
我们可以在 TagHelper 中使用该属性获得ModelExpression:
[HtmlAttributeName("asp-for")]
public ModelExpression For { get; set; }
我以某种方式设法*拥有一个具有 ModelExpression 属性的 ViewModel:
public class TemplateViewModel
{
public ModelExpression For { get; set; }
}
每次我尝试传递它时,模型表达式都是来自TemplateViewModel 的For,而不是存储在For 中的真实表达式:
@model TemplateViewModel
<input asp-for="@Model.For" class="form-control"/>
以上结果:
<input class="form-control" type="text" id="For" name="For" value="Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression" />
我预计输入是由ModelExpression 描述的,而不是ModelExpression 的ModelExpression。
*因为我想使用IHtmlHelper::PartialView() 为 TagHelper 提供模板视图。这个例子是重最小化的。我的主要动机是创建一个<form-group for="" /> TagHelper,它正在生成一个Bootstrap Form Group。
【问题讨论】:
标签: c# razor asp.net-core asp.net-core-tag-helpers