Yanıtlar:
Yalnızca ContentResult
düz bir dize döndürmek için kullanabilirsiniz :
public ActionResult Temp() {
return Content("Hi there!");
}
ContentResult
varsayılan text/plain
olarak a'yı contentType olarak döndürür . Bu yüklenebilir, böylece şunları da yapabilirsiniz:
return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
ContentResult
mu if (!String.IsNullOrEmpty(ContentType))
batmasından önce HttpContext.Response.ContentType
. text/html
İlk örneğinizle görüyorum , ya şimdi bu varsayılan ya da tarafından eğitimli bir tahmin HttpContext
.
MediaTypeNames.Text.Plain
veya gibi bir .NET çerçeve sabiti kullanabilirsiniz MediaTypeNames.Text.Xml
. Her ne kadar sadece en çok kullanılan MIME türlerinden bazılarını içermesine rağmen. ( docs.microsoft.com/en-us/dotnet/api/… )
Ayrıca, yöntemin döndüreceği tek şey olduğunu biliyorsanız dize döndürebilirsiniz. Örneğin:
public string MyActionName() {
return "Hi there!";
}
return
ya göndermek için kullanılan ifadeler string
ya JSON
ya View
o zaman kullanmalıdır koşullarına dayalı Content
dize dönmek için.
public ActionResult GetAjaxValue()
{
return Content("string value");
}
2020 itibariyle, yukarıda belirtilen şekilde kullanım ContentResult
hala doğru bir yaklaşımdır , ancak kullanım aşağıdaki gibidir:
return new System.Web.Mvc.ContentResult
{
Content = "Hi there! ☺",
ContentType = "text/plain; charset=utf-8"
}
bir dizeyi denetleyiciden görünüme döndürmenin 2 yolu vardır
ilk
sadece dize döndürebilir ama html dosyasına dahil edilmeyecektir jus dizesi tarayıcıda görünecektir
ikinci
bir dizeyi Görüntüleme Sonucu'nun nesnesi olarak döndürebilir
İşte bunu yapmak için kod örnekleri
public class HomeController : Controller
{
// GET: Home
// this will mreturn just string not html
public string index()
{
return "URL to show";
}
public ViewResult AutoProperty()
{ string s = "this is a string ";
// name of view , object you will pass
return View("Result", (object)s);
}
}
görünümünde AutoProperty çalıştırmak dosya Sonuç görünümüne yönlendirir ve görüntülemek için s
kodu gönderir
<!--this to make this file accept string as model-->
@model string
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Result</title>
</head>
<body>
<!--this is for represent the string -->
@Model
</body>
</html>
i de çalıştırın http: // localhost: 60227 / Ev / AutoProperty