是否可以从javascript调用htmlhelper?
我试图将它包含在我的javascript变量中,但是剃刀视图只渲染实际文本而不是dropbox。
var statusSelector = ['<label for="selectList">Status</label>',
'<input id="selectstatusList" name="selectList" type="hidden">',
'       ',
'@Html.StatusDropDownListFor(model => model.Reportstatus)',
'<div class="clear"></div>'].join('\n');
这就是所有渲染....
@Html.StatusDropDownListFor(model => model.Reportstatus)
要将其置于上下文中,我只希望根据另一个下拉列表中的用户选择显示此下拉列表(这将是此StatusDropdown之前工作流程中的上一步) 请注意,这是一个使用剃刀视图的mvc 3应用程序。
答案 0 :(得分:1)
不,不是。在操作方法中调用return View();
时,视图引擎会解析视图并生成html。当遇到@Html.Helper
方法时,该方法会生成特定的html(例如输入,选择等)。它无法将脚本标记中的字符串识别为@Html.Helper
(如果确实如此,则会将其标记为当时)。
Javascript没有关于HtmlHelper的概念。 HtmlHelpers在服务器端生成html,Javascript在客户端运行。
我建议您在隐藏元素中创建下拉列表,并使用javascript根据其他下拉列表中的选择显示它。或者,您可以使用AJAX返回下拉列表的html。