MVC编辑器模板中的JavaScript无法正确呈现

时间:2016-06-01 20:24:39

标签: javascript asp.net-mvc

我将某些控件从视图移动到编辑器。在我的编辑器中,我有这个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;

或者有更好的方法来解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您有两种选择。

1)假设ID始终为EmailTemplate_EmailDataVariables并相应地更新您的JS。

2)给它一个你永远都知道的唯一ID。

@Html.HiddenFor(m => m.EmailDataVariables, new {id = "EmailDataVariables"})

Source