ASP.NET Core 的
<input>
和 <label>
标记帮助程序支持 asp-for
属性,该属性会相应地生成 id
、name
和 for
。
是否可以以某种方式获取这些值并将其用于其他元素?
例如这个:
<input [email protected] />
<div [email protected]=>Foo</div>
渲染此:
<input id="User_Name" name="User.Name" ... />
<div [email protected]>Foo</div>
显然
asp-for
不适用于 div
,但我想做类似的事情。这可能吗?
(目前,我要么对值进行硬编码,要么使用一些涉及多个
nameof
调用的组合。我更喜欢与 asp-for
类似的动态解决方案。)
IHtmlHelper<TModel>
。
这些是 ASP.NET 的重要组成部分,几乎在十年前——即在 ASP.NET Core 之前——所以我完全忘记了它们。它们仍然可用。
假设我有一个输入,并且想从一些相关元素引用它(通过 JavaScript):
<input [email protected] ... />
<div for="@(Html.IdFor(x => x.User.Name))">Foo</div>
呈现:
<input id="User_Name" name="User.Name" ... />
<div for="User_Name">Foo</div>
也可以使用
Html.NameFor
或任何其他合适的东西。