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

前端之家收集整理的这篇文章主要介绍了使用ASP.NET MVC3中的JavaScriptSerializer转义引号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用户数组,我想作为一个 javascript数组传递给一个视图.我是通过 JavaScriptSerializer这样做的,但我得到的字符串中没有未转义的引号.

控制器动作

public virtual ActionResult Create(int id)
{

  1. var viewmodel = new Attendeeviewmodel();
  2.  
  3. var data = viewmodel.GetMembershipUserList() ;
  4.  
  5. viewmodel.MeetingID = id;
  6.  
  7. viewmodel.Users = new JavaScriptSerializer().Serialize(data.ToArray());
  8.  
  9. return View(viewmodel);
  10. }

视图

  1. <script type="text/javascript">
  2.  
  3. var tags = @Model.Users
  4.  
  5. $(document).ready(function () { $("#mytags").tagit({ availableTags:tags}); });
  6. </script>

视图模型

  1. public class Attendeeviewmodel
  2. {
  3.  
  4. public int AttendeeId { get; set; }
  5. public string Name { get; set; }
  6. public int MeetingID { get; set; }
  7. public string Users { get; set; }
  8.  
  9. public List<string> GetMembershipUserList()
  10. {
  11. List<string> userNames = new List<string>();
  12. foreach (MembershipUser user in Membership.GetAllUsers())
  13. {
  14. userNames.Add(user.UserName);
  15. }
  16.  
  17. return userNames;
  18.  
  19. }
  20. }

这就是Model.Users输出的原因

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

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

解决方法

使用 Html.Raw()

Returns markup that is not HTML
encoded.

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

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