MVC 4 Razor - 动态命名javascript函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC 4 Razor - 动态命名javascript函数相关的知识,希望对你有一定的参考价值。

我试图动态创建一个函数的名称:

我用剃刀代码设置名称:

 @ { name="bob"; }

然后我尝试创建javascript函数,但语法错误。

function @name@:_onActivate() {
   .....
}

如何在函数名称中使用@name?

答案

我知道我迟到了,但我有同样的问题,想出了这个..

使用@()Razor语法:

function @(Model.Name)_Init(){..... some code ...}

奇迹般有效

(Qazxswpoi)

另一答案

这被发现可以动态地编写Javascript函数名

http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx/
另一答案

还有另一种选择:

@{
    @:function  
        @name<text>_onActivate() {
           ....
        }
   </text>
}

在某些情况下,此方法在Visual Studio中不会造成太多混乱。

另一答案

如果您的JavaScript在视图中(而不是它自己的js文件 - 虽然我不是说我认为这是可取的),您可以尝试将您的JS代码包装在@{ var functionStart = "function " + name + "_onActivate()"; } @functionStart { ... } 标记中,以便解析器切换回html模式(vs C#模式)。

另一个替代方案可能是不动态命名函数,而是将名称作为参数传递 - 但是否这样做可能取决于您的设计/实现。

另一答案

这对我很有用:

<text>

以上是关于MVC 4 Razor - 动态命名javascript函数的主要内容,如果未能解决你的问题,请参考以下文章

使用 MVC 渲染具有嵌入式 Razor 变量的动态 HTML

动态读取输入 Razor MVC C#

Asp.Net Core Mvc Razor之RazorPage

如何在 Razor 视图页面中导入命名空间?

MVC 4 - Razor - 将变量传递到 href url

JQuery JCrop Image MVC 4 Razor 失败