Chr*_*rdt 6 c# razor asp.net-core asp.net-core-tag-helpers
我们可以ModelExpression
在TagHelper中使用此属性:
[HtmlAttributeName("asp-for")]
public ModelExpression For { get; set; }
Run Code Online (Sandbox Code Playgroud)
我设法以某种方式拥有一个拥有ModelExpression
属性的ViewModel :
public class TemplateViewModel
{
public ModelExpression For { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
每次我尝试传递它时,Model表达式都是For
from TemplateViewModel
,而不是真正的Expression wich存储到For
:
@model TemplateViewModel
<input asp-for="@Model.For" class="form-control"/>
Run Code Online (Sandbox Code Playgroud)
以上结果为:
<input class="form-control" type="text" id="For" name="For" value="Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression" />
Run Code Online (Sandbox Code Playgroud)
我希望输入是用ModelExpression
而不是文字a ModelExpression
来描述的ModelExpression
。
*因为我想使用使用TagHelper的模板视图IHtmlHelper::PartialView()
。此示例已大大减少。我的主要目的是创建单个<form-group for="" />
TagHelper,该生成一个Bootstrap Form Group。
ModelExpression
在Razor Compiler中作为特殊情况处理,因此这不会直接起作用。由于编译器是开源的,您可以建议一个补丁来忽略属性本身是ModelExpression
. 同时,您将需要在标签助手中使用不同类型的属性,以帮助您获取对实际ModelExpression
. 也许public Func<ModelExpression> ForAccessor { get; set; }
?
归档时间: |
|
查看次数: |
635 次 |
最近记录: |