我正在将一些控件从视图移动到编辑器。在我的编辑器中,我有这个隐藏:
@Html.HiddenFor(m => m.EmailDataVariables)
我有一些 javascript 试图阅读它(这在我的原始页面中有效,但在视图中无效):
var myValue = document.getElementById('EmailDataVariables').value;
HiddenFor
渲染如下(这破坏了上面的JavaScript):
<input id="EmailTemplate_EmailDataVariables"
name="EmailTemplate.EmailDataVariables"
type="hidden"
value="myData">
我是否应该假设控件将始终命名为 EmailTemplate.EmailDataVariables
并像这样编写我的 JavaScript:
var myValue = document.getElementById('EmailTemplate.EmailDataVariables').value;
还是有更好的方法来解决这个问题?
您有两个选择。
1) 假设 ID 将始终EmailTemplate_EmailDataVariables
并相应地更新您的 JS。
2)给它一个你永远知道的唯一ID。
@Html.HiddenFor(m => m.EmailDataVariables, new {id = "EmailDataVariables"})
源