2010-12-10 28 views

cevap

15

Eylem yönteminize farklı bir içerik türü ayarlamanız gerekir. Sadece bunu test çalışacaktır

public ActionResult MyAction() { 
    Response.ContentType = "something"; 
    return View(); 
} 
+0

Oh ... Google üzerinden buldum ama birkaç kişi bu işe yaramadı söyledi. Hızlı cevap için teşekkürler marcind :) – kidoman

+0

Bir takip sorumlusu ... kontrolörde mi yoksa görünüşte mi yapmalıyım? @ {Response.ContentType = "..."; } Sanırım manzarada olması daha iyi. – kidoman

+1

Eğer endişelerin ilkelerini ayrı ayrı takip edecekseniz, bunun görüşün yanlış yer olduğunu ileri süreceğim. Görüşün sorumluluğu, çıkış akışına verilen yanıttır. Bir kerelik bir şey olsaydı, kişisel olarak yukarıdaki gibi eylem yönteminde yapardım. Özel bir içerik türüne gereksinim duyan birden çok görünüm elde ettiysem, "ViewResult" dan türeyen kendi sınıfımı yazıp "Görünüm()" yerine döndürürdüm. Ancak, bu kodu görüntüde kendiniz yazabilirsiniz * böylece sonuçta bir tercih sorunudur. Sonunda işinizin bitmesi gereken şeyi yapmalısınız :) – marcind

13

, ayrıca cshtml aşağıdaki satırı ekleyebilirsiniz:

@{ 
    ViewBag.Title = "Home Page"; 
    Response.ContentType = "application/javascript"; 
} 

It sadece: o şuna benzer şekilde

Response.ContentType = "application/javascript"; 

değişikliği yapmayı tercih ettiğiniz yere bağlıdır.

0

bunu kullanın:

return Content(json, "application/json"); 
İlgili konular