В MVC, как мне вернуть строковый результат? - PullRequest
592 голосов
/ 16 февраля 2009

В моем вызове AJAX я хочу вернуть строковое значение обратно на страницу вызова.

Должен ли я использовать ActionResult или просто вернуть строку?

Ответы [ 5 ]

1010 голосов
/ 16 февраля 2009

Вы можете просто использовать ContentResult для возврата простой строки:

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

ContentResult по умолчанию возвращает text/plain в качестве contentType . Это перегрузка, поэтому вы также можете сделать:

return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
110 голосов
/ 17 февраля 2009

Вы также можете просто вернуть строку, если знаете, что это единственное, что метод когда-либо вернет. Например:

public string MyActionName() {
  return "Hi there!";
}
8 голосов
/ 27 апреля 2016
public ActionResult GetAjaxValue()
{
   return Content("string value");
}
0 голосов
/ 10 июня 2017

есть 2 способа вернуть строку из контроллера в представление

первый

вы можете вернуть только строку, но не будете включены в HTML файл будет отображаться в строке браузера


секунда

может вернуть строку как объект результата просмотра

вот примеры кода для этого

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

0 голосов
/ 16 мая 2017
public JsonResult GetAjaxValue() 
{
  return Json("string value", JsonRequetBehaviour.Allowget); 
}
...