Vraag Hoe kan ik in een MVC een stringresultaat retourneren?


In mijn AJAX-aanroep wil ik een tekenreekswaarde terugsturen naar de aanroepende pagina.

Moet ik gebruiken ActionResult of stuur gewoon een string terug?


558
2018-02-16 17:44


oorsprong


antwoorden:


Je kunt gewoon de ContentResult om een ​​duidelijke reeks terug te keren:

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

ContentResult standaard retourneert een text/plain zoals het contentType. Dit is overbelastbaar, dus u kunt ook doen:

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

948
2018-02-16 17:47



Je kunt ook een string terugsturen als je weet dat dit het enige is dat de methode ooit zal teruggeven. Bijvoorbeeld:

public string MyActionName() {
  return "Hi there!";
}

105
2018-02-16 23:29



public ActionResult GetAjaxValue()
{
   return Content("string value");
}

5
2018-04-27 14:18



public JsonResult GetAjaxValue() 
{
  return Json("string value", JsonRequetBehaviour.Allowget); 
}

0
2018-05-16 12:45



er is een manier om een ​​tekenreeks van de controller naar de weergave te retourneren

eerste

je zou alleen een string kunnen retourneren, maar zal niet worden opgenomen in html   bestand zal het jus string verschijnen in de browser
 


tweede

kan een tekenreeks retourneren als object van View Result

hier zijn de codevoorbeelden om dit te doen

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

    }
}

in weergavebestand om uit te voeren AutoProperty het zal u doorverwijzen naar Resultaat bekijken en verzenden s
code om te bekijken

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

ik voer het uit http: // localhost: 60227 / Home / AutoProperty


0
2018-06-10 16:58