1

javascript在 C# 代码中有这样的警报

if(Session["msg"] != null){
       string msg = (string)Session["msg"];
       if(msg.Length > 2) {
           @: var msg = @msg;
           @: alert(msg);
                               }

但在视图中没有出现警报:

结果

问题是警报消息被写入视图。

为什么会这样?我怎样才能解决这个问题?

4

1 回答 1

3

您需要将注入的 Razor 字符串用引号括起来:

@: var msg = "@msg";

假设“msg”的内容是“Something”……那么,如果没有引号,渲染的脚本将如下所示:

var msg = Something

这将是无效的,因为没有名为“Something”的变量。

于 2013-10-11T17:36:50.400 回答