将javascript与具有深度嵌套的c#代码混合使用.正在尝试制作外部文件
本文关键字:文件 外部 混合 javascript 深度 嵌套 代码 | 更新日期: 2023-09-27 18:29:06
我的一个视图中有一些javascript和c#代码,这些代码嵌套得很深。这里有一个大致的结构:
@if(something)
{
<script type="text/javascript">
@if(something_else)
{
<text>
...some javascript...
event: function(){
@ViewBag.Property = value;
}
...some more javascript...
</text>
}
@else if(something_else_else)
{
...some more javascript...
}
<script>
}
它在html文件中运行良好,但我想把它放在一个外部js文件中,而只是像这样加载:
@if(something)
{
<script type="text/javascript" src="@Url.Content("~Scripts/thescript.js")"></script>
}
然而,如果我尝试这样做,我会得到错误:missing } in XML expression
我试着把内容包装进去,但它仍然抱怨同样的错误。任何人都知道这是否可能,因为这是一个相当长的剧本,让我的观点非常复杂。
您可以使用@Html.RazorJSInclude("scriptSource")。请参阅以下链接
http://djsolid.net/blog/razorjs---write-razor-inside-your-javascript-files
如果我理解正确,您将把包含Razor标记的代码放在一个外部.JS文件中。
Razor视图引擎不会解析.JS文件中的内容,因此它不会像您描述的那样工作。
但是,在视图中出现重复Razor标记的部分视图中,可以极大地清理代码。