加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

使用ASP.NET MVC3中的JavaScriptSerializer转义引号

发布时间:2020-12-15 22:31:13 所属栏目:asp.Net 来源:网络整理
导读:我有一个用户数组,我想作为一个 javascript数组传递给一个视图.我是通过 JavaScriptSerializer这样做的,但我得到的字符串中没有未转义的引号. 控制器动作 public virtual ActionResult Create(int id) { var viewModel = new AttendeeViewModel(); var data
我有一个用户数组,我想作为一个 javascript数组传递给一个视图.我是通过 JavaScriptSerializer这样做的,但我得到的字符串中没有未转义的引号.

控制器动作

public virtual ActionResult Create(int id)
{

var viewModel = new AttendeeViewModel();

        var data = viewModel.GetMembershipUserList() ;

        viewModel.MeetingID = id;

        viewModel.Users = new JavaScriptSerializer().Serialize(data.ToArray());

        return View(viewModel);
    }

视图

<script type="text/javascript">

   var tags = @Model.Users

    $(document).ready(function () { $("#mytags").tagit({ availableTags:tags}); });
</script>

视图模型

public class AttendeeViewModel
{

    public int AttendeeId { get; set; }
    public string Name { get; set; }
    public int MeetingID { get; set; }
    public string Users { get; set; }

    public List<string> GetMembershipUserList()
    {
        List<string> userNames = new List<string>();
        foreach (MembershipUser user in Membership.GetAllUsers())
        {
            userNames.Add(user.UserName);
        }

        return userNames;

    }
}

这就是Model.Users输出的原因

[&quot;DennisLeary&quot;,&quot;BobSaget&quot;,&quot;BillHicks&quot;]

如何使用JavaScriptSerializer或任何其他方法转义引号?

解决方法

使用 Html.Raw()

Returns markup that is not HTML
encoded.

var tags = @Html.Raw(Model.Users);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读