我将某些控件从视图移动到编辑器。在我的编辑器中,我有这个HiddenFor:
@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;
或者有更好的方法来解决这个问题吗?
答案 0 :(得分:2)
您有两种选择。
1)假设ID始终为EmailTemplate_EmailDataVariables
并相应地更新您的JS。
2)给它一个你永远都知道的唯一ID。
@Html.HiddenFor(m => m.EmailDataVariables, new {id = "EmailDataVariables"})