让剃刀每次都不能识别@符号



因此,当将@符号放入MVC代码的javascript部分时,例如

$("#filter").tweet({
count: @Model.Tweets,
filter: function(t){ return ! /^@w+/.test(t["tweet_raw_text"]},
username: '@Model.TwitUser'
});

您如何绕过系统认为这是Razor和filter: function行中代码块的开头?

您应该能够使用@:语法来混合文本和Razor变量

$("#filter").tweet(@:{
  count: @Model.Tweets,
  filter: function(t){ return ! /^@w+/.test(t["tweet_raw_text"]},
  username: '@Model.TwitUser'
});

您可能不得不玩弄@:的位置,以使其工作,但它应该得到您正在寻找的结果。这里有更多的语法技巧:http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx

我假设你的JS代码嵌入在你的视图,如果然后我通常做的是在页面加载时声明属性,然后在JS中使用它们

在视图:

<script type="text/javascript">var urlProfile = '@Url.Action("Index", "Profile")';</script>

在我的JS单独的文件:

$ (" # cancel-step ")。点击(function () {window.location.href = urlProfile;});

使用

转义
@@

@:

或者把有问题的部分放在

<text></text>

最新更新