Tengo una matriz de usuarios que quiero pasar a una vista como una matriz de JavaScript. Estoy haciendo esto a través de JavaScriptSerializer, pero la cadena que obtengo tiene comillas sin guardar en él.Escapar citas con JavaScriptSerializer en ASP.NET MVC3
Action Controller
ActionResult pública virtual Crear (int id) {
var viewModel = new AttendeeViewModel();
var data = viewModel.GetMembershipUserList() ;
viewModel.MeetingID = id;
viewModel.Users = new JavaScriptSerializer().Serialize(data.ToArray());
return View(viewModel);
}
Ver
<script type="text/javascript">
var tags = @Model.Users
$(document).ready(function() { $("#mytags").tagit({ availableTags:tags}); });
</script>
modelo de vista
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;
}
}
Th es lo que se Model.Users se emite como
["DennisLeary","BobSaget","BillHicks"]
¿Cómo puedo escapar de las cotizaciones con JavaScriptSerializer, o cualquier otro método?
Muchas, muchas, muchas gracias. – MrBliz
¡Gracias! Seguí viendo soluciones extrañas donde las personas agregarían un .replace (...) para solucionar este problema. Gracias por el apropiado! –