【发布时间】:2015-01-30 06:16:36
【问题描述】:
我有 MVC 应用程序。很多逻辑都存在于 javascript 中。
我想将 C# 代码嵌入到视图中。例如
@Url.Action("Dosomething", "something")
Or
@MyNamespace.SomeVar
一切都按预期工作,直到我只有代码在视图 (.cshtml) 文件中。但随着逻辑的增加。我将 javaScript 移动到另一个文件 (.js) 中。整个代码都坏了。
是否有相同的解决方案或解决方法?
好的,所以我将在我的视图文件中获取价值,然后在 javascript 中使用它。
不过,我有一个后续问题...
如何访问视图中的枚举值。
我正在做这样的事情:
var valjs = '@MyEnum.VAL1'
这导致名称被复制到 javascript 中,如下所示:
var valjs = 'VAL1'
但我想要对应的枚举值:
var valjs = "1";
我该如何解决这个问题?
【问题讨论】:
-
视图中是否包含了js文件?
-
仅针对视图解析 Razor 代码,而忽略外部文件。您需要在主视图中设置变量,以便可以从外部文件访问它们或使用元素中的
data属性,然后使用var myVar = $(myElement).data(..);访问它们 -
我的第二个问题的解决方案是使用枚举语法,例如 var valjs = '@( (Int32)MyEnum.VAL1)'
标签: javascript c# asp.net-mvc asp.net-mvc-4 razor