Asp.net mvc 3 在编辑器模板中,如何将javascript放在标题部分?
我有一个编辑器模板,比如说,日期:Asp.net mvc 3 在编辑器模板中,如何将javascript放在标题部分?,asp.net-mvc-3,mvc-editor-templates,Asp.net Mvc 3,Mvc Editor Templates,我有一个编辑器模板,比如说,日期: @model DateTime @section AdditionalJavaScript2 { /* some js code */ } @Html.TextBox("", Model.ToString("d.M.yyyy"), new { @class = "date" }) 现在,我想在HEAD部分中添加一些js代码,但这不起作用 当然,在我的layout.cshtml中有一个关于此部分的示例: <head> ... @R
@model DateTime
@section AdditionalJavaScript2
{
/* some js code */
}
@Html.TextBox("", Model.ToString("d.M.yyyy"), new { @class = "date" })
现在,我想在HEAD部分中添加一些js代码,但这不起作用
当然,在我的layout.cshtml中有一个关于此部分的示例:
<head>
...
@RenderSection("AdditionalJavaScript2", required: false)
</head>
...
@RenderSection(“AdditionalJavaScript2”,必需:false)
它可以从普通视图工作,但不能从局部视图(编辑器模板)工作
为什么?
还有,有解决办法吗
谢谢
Igor局部视图不使用模板,它返回“原始”html以包含在页面中(通过Javascript)。它只能访问它自己返回的流 可以这样想:您通常从Javascript/AJAX调用部分视图以获得一些新的html。您获得返回,并替换一些DIV标记。系统(FireFox、Chrome等)如何知道需要替换HEAD标签中的某些内容的额外数据部分 有一些变通办法:
- 不要把剧本放在头上
- 在html和脚本之间添加一个参数开关。您需要进行客户端调用,一个用于获取html,另一个用于脚本。在页面上的两个位置包括对局部视图的调用李>
- 使用一些预定义的标记(如
)分离脚本和html,让调用代码分割结果,并将其放置在正确的位置