如何将HTML5属性和值传递到MVC HiddenFor中

10

我有一个隐藏的输入框:

<input type="hidden" class="deleted" name="Deleted" data-id="@Model.Id" value="@Model.Deleted" />

我想将此内容转换为MVC辅助函数HiddenFor。

目前已经完成如下步骤:

@Html.HiddenFor(x => x.Deleted, new { @class="deleted" })

所以这涵盖了类。我还需要data-id属性和值。

尝试添加data-id:

@Html.HiddenFor(x => x.Deleted, new { @class="deleted", data-id="@Model.Id" })

看起来这个帮助程序不喜欢data-id里的连字符。

那么如何将其放进去呢?

还有如何在那里放入value="@Model.Deleted"

2个回答

20

使用_,MVC会在渲染时将其转换为-

另外,你不需要在Model.Id前面加@。也要删除双引号。以下代码应该有效。

@Html.HiddenFor(x => x.Deleted, new { @class="deleted", data_id=Model.Id })

你为什么要给一个隐藏的字段设置CSS类?


可以运行,但是ID没有被评估。 - AnonyMouse
那是什么意思?你能再解释一下吗?请检查一下是否从控制器传递了值。 - Shyju
@AnonyMouse:请查看我的更新答案,那将解决你的问题。 - Shyju

-1

尝试

@Html.HiddenFor(x => x.Deleted, new { @class="deleted", "data-id"="@Model.Id" })

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接