admin管理员组文章数量:1208155
I Have an Array of users that i want to pass into a view as a javascript array. I'm doing this via JavaScriptSerializer, but the string i get has unescaped quotes in it.
Controller Action
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);
}
View
<script type="text/javascript">
var tags = @Model.Users
$(document).ready(function () { $("#mytags").tagit({ availableTags:tags}); });
</script>
ViewModel
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;
}
}
This is what Model.Users is output as
["DennisLeary","BobSaget","BillHicks"]
How do i escape the quotes with JavaScriptSerializer, or any other method?
I Have an Array of users that i want to pass into a view as a javascript array. I'm doing this via JavaScriptSerializer, but the string i get has unescaped quotes in it.
Controller Action
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);
}
View
<script type="text/javascript">
var tags = @Model.Users
$(document).ready(function () { $("#mytags").tagit({ availableTags:tags}); });
</script>
ViewModel
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;
}
}
This is what Model.Users is output as
["DennisLeary","BobSaget","BillHicks"]
How do i escape the quotes with JavaScriptSerializer, or any other method?
Share Improve this question asked Apr 23, 2011 at 10:27 MrBlizMrBliz 5,89816 gold badges60 silver badges82 bronze badges1 Answer
Reset to default 25Use Html.Raw()
Returns markup that is not HTML encoded.
var tags = @Html.Raw(Model.Users);
本文标签: javascriptEscaping quotes with JavaScriptSerializer in ASPNET MVC3Stack Overflow
版权声明:本文标题:javascript - Escaping quotes with JavaScriptSerializer in ASP.NET MVC3 - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1738712639a2108287.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论