• MVC3 ViewBage 输出的值 被编码


    问题描述:

          后台,Actoin中我向ViewBage中加入了一个json     

    ViewBage.JsonDateMenu ="[{"id":2,"text":"菜单管理","state":"open","iconCls":null,"checked":true,"attributes":null,"children":[{"id":3,"text":"新建菜单               ","state":"open","iconCls":null,"checked":true,"attributes":null,"children":null},{"id":5,"text":"编辑菜单","state":"open","iconCls":null,"checked":true,"attributes":null,"children":null}]},{"id":4,"text":"角色权限管理","state":"open","iconCls":null,"checked":true,"attributes":null,"children":[{"id":6,"text":"新增角色","state":"open","iconCls":null,"checked":true,"attributes":null,"children":null}]}]" System.String

        但是前台通过@ViewBage取到的值是这样的

         [{"id":2,"text":"菜单管理","state":"open","iconCls":null,"checked":true,"attributes":null,"children":[{"id":3,"text":"新建菜单","state":"open","iconCls":null,"checked":true,"attributes":null,"children":null},{"id":5,"text":"编辑菜单","state":"open","iconCls":null,"checked":true,"attributes":null,"children":null}]},{"id":4,"text":"角色权限管理","state":"open","iconCls":null,"checked":true,"attributes":null,"children":[{"id":6,"text":"新增角色","state":"open","iconCls":null,"checked":true,"attributes":null,"children":null}]}]

        很明显,双引号被编码了显示出来,这样很明显不是我们要的效果,我们要的是原样输出,

    解决方案:

          1. @MvcHtmlString.Create(@ViewBag.JsonDateMenu),这样之后,一切正常了!,一般扩展HtmlHelp的时候返回MVCHtmlString 都是使用的这个方法

          2.  @Html.Raw(@ViewBag.JsonDateMenu) 后来,无意中发现了这个方法,一样解决了问题,个人这个方式更好,当然还可以直接人工代码解码

    解决途径:

         网上查询

         参考资料:忘了...

    作者:童心不老
    出处:http://www.cnblogs.com/cybh
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
    如有问题,可以通过gi71090@126.com 联系我,非常感谢。

  • 相关阅读:
    在IIS上部署 .Net Core 3.0 项目踩坑实录
    .net core3.0部署Linux服务器 使用Docker容器和Nginx反代理教程
    播放器 AxWindowsMediaPlayer控件的使用
    Github下载慢和下载过程中断等情况的解决方案
    GitHub第一次上传遇到的问题
    DataGridView && 增加复选框(checkbox)方法
    努力
    绘图:drawImage一个用法
    Tuple<T1,T2,.........T> 元组简单使用
    随机的标识符GUID
  • 原文地址:https://www.cnblogs.com/cybh/p/3317369.html
Copyright © 2020-2023  润新知