在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运行它