Genellikle kompleks için sadece geçici bir 'İnbetween' nesnesi oluşturarak seri hale getirmek için elinden geleni nesneleri fark ettik: Örneğin
referansları için ben do aşağıdaki. Bunu aslında ASPX model sayfam için codebehind'de yapıyorum.
Bu, güzel bir JSON nesnesi oluşturur. Modelimi yeniden düzenleyebileceğimi fark edeceksiniz ve sayfa hala çalışmaya devam edecektir. Veri modeli ile sayfa arasındaki sadece bir başka soyutlama katmanı. Denetleyicimin JSON'u olabildiğince çok bilmesi gerektiğini düşünmüyorum ama ASPX 'codebehind' kesinlikle yapabilir. Benim ASPX olarak
/// <summary>
/// Get JSON for testimonials
/// </summary>
public string TestimonialsJSON
{
get
{
return Model.Testimonials.Select(
x => new
{
testimonial = x.TestimonialText,
name = x.name
}
).ToJSON();
}
}
Ben sadece bir blok içinde bunu:
var testimonials = <%= TestimonialsJSON %>;
// oh and ToJSON() is an extension method
public static class ObjectExtensions
{
public static string ToJSON(this Object obj)
{
return new JavaScriptSerializer().Serialize(obj);
}
}
bunu getirmek ... Bu öneriye karşı tepki hazırım ...
Ben Veriye erişemiyorum, sadece Görünüm için bir modeli yeniden biçimlendirmek. Bu 'görünüm modeli' mantığı, 'denetleyici modeli' mantığı değil.
Hangi serileştirici kullanıyorsunuz? –
JsonResult benim dönüş türüm, bu yüzden ASP.NET MVC 1.0'ın denetleyici sınıfında varsayılan olan serializer'ı kabul ediyorum. – JMP
JavaScriptSerializer nedir. – womp