首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Asp.Net MVC3 RC Razor视图:在<javascript>块中嵌入代码的语法

Asp.Net MVC3 RC Razor视图:在<javascript>块中嵌入代码的语法
EN

Stack Overflow用户
提问于 2010-11-17 21:11:46
回答 2查看 17.1K关注 0票数 18

使用MVC3 RC1 razor视图在javascript块中嵌入javascript代码时遇到问题。我应该使用什么语法来使其工作?我收到警告,例如。isOk变量上的预期常量。(如果没有text标记,以下代码不会被识别为javascript)

代码语言:javascript
复制
@{bool isOk = true;}

<script type="text/javascript">
    var tmp1 = "";
    @if (isOk)
    { 
        <text>
            var tmp=""; // this should be interpreted as javascript
        </text>       
    }
</script>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-17 21:21:59

您需要<text>标记来指示内容不在服务器上进行评估。例如:

代码语言:javascript
复制
@{
    var isOK = true;
}

<script type="text/javascript">
    var tmp1 = "";
    @if (isOK)
    { 
        <text>
            var tmp = "foo";
        </text>       
    }
</script>

将在结果页面中输出:

代码语言:javascript
复制
<script type="text/javascript">
    var tmp1 = "";
    var tmp = "foo";
</script>

至于Expected Constant的警告,嗯,Razor Intellisense还在测试版中,所以它还很不完美。这只是一个你可以放心忽略的警告。重要的是应用程序能够工作并发出有效的HTML。希望这是一些东西,将在最终产品中修复。根据个人经验,我唯一信任的警告是C#编译器发出的警告。当我在视图中工作时,我会安全地忽略Visual Studio发出的所有糟糕的警告,因为我知道它是错误的。

票数 28
EN

Stack Overflow用户

发布于 2010-11-18 16:36:11

另一种方法(更简洁、更易于阅读的IMO)是转回文本,如下所示:

代码语言:javascript
复制
<script type="text/javascript"> 
    var tmp1 = ""; 
    @if (isOK) 
    {  
        @:var tmp = "foo";
    } 
</script> 
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4204669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档