8
我有一個我希望作爲javascript數組傳遞給視圖的用戶數組。我通過JavaScriptSerializer來完成這項工作,但我得到的字符串中有未轉義的引號。在ASP.NET MVC3中使用JavaScriptSerializer轉義引號
控制器動作
公共虛擬的ActionResult創建(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輸出爲
["DennisLeary","BobSaget","BillHicks"]
如何使用JavaScriptSerializer或任何其他方法轉義引號?
很多很多非常感謝。 – MrBliz 2011-04-23 10:52:46
謝謝!我不斷看到奇怪的解決方案,人們會添加一個.replace(...)來解決這個問題。感謝您的合適! – 2013-10-21 22:36:41