c# - 将 javascript 与具有深度嵌套的 c# 代码混合。尝试制作外部文件

标签 c# javascript asp.net-mvc-4

我的一个深度嵌套的 View 中有一些 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>
}

但是,如果我尝试这样做,我会收到错误消息:在 XML 表达式中缺少 }

我尝试将内容包装进去,但它仍然报同样的错误。 任何人都知道这是否可行,因为它是一个相当长的脚本并且让我的观点非常复杂。

最佳答案

您可以使用@Html.RazorJSInclude("scriptSource")。 请看以下链接

http://djsolid.net/blog/razorjs---write-razor-inside-your-javascript-files

关于c# - 将 javascript 与具有深度嵌套的 c# 代码混合。尝试制作外部文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9858342/

相关文章:

c# - 帮助覆盖 C# .NET

javascript - jquery交叉淡入淡出循环

javascript - 在 HTML 网站中嵌入第三方内容

c# - 在 View 中找不到命名空间,在 Controller 中工作

c# - 如果数字不是 double 值,则无法显示最多两位小数值的 double 类型值

c# - mongoDB 的问题。类型的属性 '_id' ... 不能使用元素名称 '_id'

c# - 如何使用 JPath 选择具有指定值的子项的集合项?

c# - 读取已被另一个进程使用的文件

c# - 用于记录方法调用和异常的 WCF 服务属性

javascript - Redux 'connect' 未检测到状态数组更改