В MVC, как мне вернуть результат строки?
в моем вызове AJAX я хочу вернуть строковое значение обратно на вызывающую страницу.
Я должен использовать ActionResult
или просто вернуть строку?
5 ответов:
вы можете просто использовать
ContentResult
чтобы вернуть простую строку:public ActionResult Temp() { return Content("Hi there!"); }
ContentResult
по умолчанию возвращает atext/plain
как его contentType. Это перегружается, так что вы также можете сделать:return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
вы также можете просто вернуть строку, если вы знаете, что это единственный способ вернутся никогда. Например:
public string MyActionName() { return "Hi there!"; }
есть 2 способа вернуть строку из контроллера в вид
первый
вы можете вернуть только строку, но не будет включен в html файл это будет Jus строка появится в браузере
второйможет возвращать строку в качестве объекта View Result
вот примеры кода для этого
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 он перенаправит вас на результат просмотр и отправит 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