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

前端之家收集整理的这篇文章主要介绍了使用ASP.NET MVC3中的JavaScriptSerializer转义引号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用户数组,我想作为一个 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);

猜你在找的asp.Net相关文章