本人首次接触mvc3 razor在controllers中得到:
var a = (new FollowGroupService()).GetListByCompanyId(user.CompanyId);
                    var c = (new CompanyService()).GetFollowCompany(user.UserId, a[0].GroupId, true);
                    //json.Data = new { iserror = false, follwCom = common.toJSON(c, "data") };
                    ViewBag.FollCompany = common.toJSON(c, "data");
                    ViewData["Group"] = a;现在想在页面js文件中条用已经json化的ViewBag或者ViewData请问如何弄,下面的貌似不行哇
$(function () {
    var Group = ViewData["Group"];
    alert(Group)});

解决方案 »

  1.   

    var Group = @ViewData["Group"];
    先花几分钟看下razor语法吧
      

  2.   

    楼上已经说了,另外(new FollowGroupService()) 这种方式太恶心了~
    请搜索 mvc 中的 IOC 
    另外mvc中已经有自带的转换成json的Newtonsoft.Json.dll
    就不要使用你自己写的common.toJSON了~
      

  3.   

    var Group = @ViewData["Group"];
      

  4.   

    加上单引号var Group = '@ViewData["Group1"]';
      

  5.   

    其实这个跟razor没什么关系
    http://www.smallerpig.com/archives/283
      

  6.   


    右击一下页面 看看页面源码 看看生成的json是否符合规范~ 可以加上 eval(json)
      

  7.   

    我也这么写过显示的错误里可以看出没有转义@,你确定这段代码是在razor模板里写的吗
      

  8.   

    好像var Group = @ViewData["Group"];在razor中写,最后编译出来的动态的不是这个表达式吧?
    能出现这个代码说明压根就没当成razor来编译
      

  9.   

    我也这么写过显示的错误里可以看出没有转义@,你确定这段代码是在razor模板里写的吗
    var Group = @ViewData["Group"];我试过了,可以的,但是只能在前台页面中写,我要是写在一个引用的js文件中就不可以了
      

  10.   

    我也这么写过显示的错误里可以看出没有转义@,你确定这段代码是在razor模板里写的吗
    var Group = @ViewData["Group"];我试过了,可以的,但是只能在前台页面中写,我要是写在一个引用的js文件中就不可以了
    Razor不会去解析js文件,当然不可以了