在MVC中,如何返回string结果?

在我的AJAX调用中,我想返回一个string值返回到调用页面。

我应该使用ActionResult还是只返回一个string?

您可以使用ContentResult返回一个纯string:

 public ActionResult Temp() { return Content("Hi there!"); } 

ContentResult默认返回一个text/plain作为其contentType 。 这是可以重载的,所以你也可以这样做:

 return Content("<xml>This is poorly formatted xml.</xml>", "text/xml"); 

你也可以返回string,如果你知道这是唯一的方法将返回。 例如:

 public string MyActionName() { return "Hi there!"; } 
 public ActionResult GetAjaxValue() { return Content("string value"); } 
 public JsonResult GetAjaxValue() { return Json("string value", JsonRequetBehaviour.Allowget); } 

有2种方式从控制器返回一个string到视图

第一

你可以只返回string,但不会被包含在HTML文件中,它将是在浏览器中出现的string

第二

可以返回一个string作为查看结果的对象

这里是代码示例要做到这一点

 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); } } 

在查看文件运行AutoProperty它将redirect到结果视图,将发送s
代码来查看

 <!--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> 

我在http:// localhost:60227 / Home / AutoProperty运行它