在 ASP.net MVC 5 HTML 帮助程序扩展中动态创建 ID
Dynamically Creating IDs in an ASP.net MVC 5 HTML Helper Extension
我想在循环访问视图中的列表时向隐藏字段动态添加唯一 ID。
这是我的:
@foreach (var food in Model)
{
if (counter != 0 && counter % 4 == 0)
{
@:</div>
@:<div class="row el-element-overlay m-b-40">
}
<!-- /.usercard -->
<div class="white-box">
<div class="el-card-item">
<div class="el-card-avatar el-overlay-1">
var theId = "food" + @counter;
@Html.HiddenFor(m => food.Id, new { id = "@{@theId}" })
<img src="@Url.Content("~/Images/"+ @Path.GetFileName(food.FilePath))" />
如何附加 theID 变量或将字符串与 @counter 连接以形成隐藏字段元素的 ID。
我检查过 但 OP 没有描述在他的情况下到底是什么起作用了。
从纯语法的角度来看,而不是这个
var theId = "food" + @counter;
@Html.HiddenFor(m => food.Id, new { id = "@{@theId}" })
您可以直接在助手内部连接:
@Html.HiddenFor(m => food.Id, new { id = "food" + counter.ToString() })
然而,
从编程的角度来看,@Html.HiddenFor(m => food.Id)
是不正确的,会导致错误。你能解释一下你为什么要渲染一个隐藏的 <input>
元素吗?它会被用来提交表格吗?
我想在循环访问视图中的列表时向隐藏字段动态添加唯一 ID。
这是我的:
@foreach (var food in Model)
{
if (counter != 0 && counter % 4 == 0)
{
@:</div>
@:<div class="row el-element-overlay m-b-40">
}
<!-- /.usercard -->
<div class="white-box">
<div class="el-card-item">
<div class="el-card-avatar el-overlay-1">
var theId = "food" + @counter;
@Html.HiddenFor(m => food.Id, new { id = "@{@theId}" })
<img src="@Url.Content("~/Images/"+ @Path.GetFileName(food.FilePath))" />
如何附加 theID 变量或将字符串与 @counter 连接以形成隐藏字段元素的 ID。
我检查过
从纯语法的角度来看,而不是这个
var theId = "food" + @counter;
@Html.HiddenFor(m => food.Id, new { id = "@{@theId}" })
您可以直接在助手内部连接:
@Html.HiddenFor(m => food.Id, new { id = "food" + counter.ToString() })
然而,
从编程的角度来看,@Html.HiddenFor(m => food.Id)
是不正确的,会导致错误。你能解释一下你为什么要渲染一个隐藏的 <input>
元素吗?它会被用来提交表格吗?