- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我们可以得到一个ModelExpression
在 TagHelper 中使用此属性:
[HtmlAttributeName("asp-for")]
public ModelExpression For { get; set; }
我以某种方式设法*拥有一个具有 ModelExpression
的 ViewModel属性:
public class TemplateViewModel
{
public ModelExpression For { get; set; }
}
每次我尝试传递它时,模型表达式都是 For
来自 TemplateViewModel
,而不是存储在 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 创建一个模板 View .这个例子是重度最小化。我的主要动机是创建一个单一的 <form-group for="" />
TagHelper,它正在生成 Bootstrap Form Group .
最佳答案
ModelExpression
在 Razor Compiler 中作为特例处理,所以这不会直接起作用。由于编译器是开源的,您可以建议一个补丁来忽略属性本身是 ModelExpression
的情况。 .同时,您将需要在标签助手中使用不同类型的属性,以帮助您获得对实际 ModelExpression
的引用。 .也许public Func<ModelExpression> ForAccessor { get; set; }
?
关于c# - 是否可以将 ModelExpression 传递给 TagHelper?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47125008/
尝试编写自定义 TagHelper 来显示模型属性的 Description 属性。一切似乎都正常,但描述文本没有传递到我的 ModelExpression 元数据,它仍然是 null。 这是一个 a
我们可以得到一个ModelExpression在 TagHelper 中使用此属性: [HtmlAttributeName("asp-for")] public ModelExpression For
使用 htmlhelpers 可以限制你的助手将绑定(bind)到什么类型 public static HtmlString DatePicker(this HtmlHelper html,
我正在使用示例 found here允许从标签助手中呈现局部 View 。我在这里要做的是能够像这样定义一个标签助手: 在标签助手的 C# 代码中,我定义了“for”属性,据我所知,这需要定义为“M
我想将模型表达式(例如属性)绑定(bind)到 View 组件——就像我使用 HTML 助手(例如,@Html.EditorFor())或标签助手(例如,)一样——并重用这个模型在带有嵌套 HTML
我是一名优秀的程序员,十分优秀!