MVC में, मैं एक स्ट्रिंग परिणाम कैसे लौटाऊं?


630

मेरे AJAX कॉल में, मैं कॉलिंग पृष्ठ पर एक स्ट्रिंग मान वापस करना चाहता हूं।

क्या मुझे ActionResultएक स्ट्रिंग का उपयोग करना चाहिए या वापस करना चाहिए ?


4
जाँच यहाँ करने के लिए बूटस्ट्रैप चेतावनी संदेश लौट
shaijut

जवाबों:


1074

आप ContentResultएक सादे स्ट्रिंग को वापस करने के लिए उपयोग कर सकते हैं :

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

ContentResultडिफ़ॉल्ट text/plainरूप से अपनी सामग्री टाइप के रूप में देता है । यह अतिभारनीय है इसलिए आप यह भी कर सकते हैं:

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

यदि आपकी वापसी प्रकार एक स्ट्रिंग है, तो ContentType क्या है?
user1886419

7
मैं कैसे सही इस उत्तर वापस तो था पता नहीं है, लेकिन वर्तमान में ContentResultकरता है if (!String.IsNullOrEmpty(ContentType))सेटिंग से पहले HttpContext.Response.ContentType। मैं text/htmlआपके पहले उदाहरण के साथ देख रहा हूँ , या तो अभी डिफ़ॉल्ट है या यह एक शिक्षित अनुमान है HttpContext
user247702

मैं दृश्य में कैसे पहुंच सकता हूं?
प्रदीप कुमार दास

4
छोटा जोड़: स्ट्रिंग के रूप में शाब्दिक रूप से "टेक्स्ट / प्लेन" जोड़ने के बजाय, आप .NET फ्रेमवर्क का उपयोग कर सकते हैं जैसे MediaTypeNames.Text.Plainया MediaTypeNames.Text.Xml। हालाँकि इसमें केवल कुछ सबसे अधिक उपयोग किए जाने वाले MIME प्रकार शामिल हैं। ( docs.microsoft.com/en-us/dotnet/api/… )
-तो

मतदान किया गया, हालांकि मुझे HTML को @Stijn टिप्पणी के अनुसार पाठ के रूप में लौटते समय माइम प्रकार को "पाठ / सादे" के रूप में निर्दिष्ट करने की आवश्यकता थी।
रॉबर्टो

113

यदि आप जानते हैं कि यह एकमात्र तरीका है जो कभी भी वापस आएगा, तो आप केवल स्ट्रिंग लौटा सकते हैं। उदाहरण के लिए:

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

10
फिल, यह एक "सर्वश्रेष्ठ अभ्यास" है, क्या आप कृपया अपने जवाब और @swilliam के अंतर के बारे में बता सकते हैं
डेविड पर्लमैन

9
आप एक तरीके से एक स्ट्रिंग नहीं लौटा सकते हैं जो एक ActionResult लौटाता है, इसलिए इस मामले में आप सामग्री ("") लौटाते हैं जैसा कि स्वाइलियट्स ने समझाया है। यदि आपको केवल एक स्ट्रिंग वापस करने की आवश्यकता है, तो आपको एक स्ट्रिंग वापस करने की विधि होगी, जैसा कि फिल ने समझाया है।
अर्किलिक्नाम

3
कि एक ही कार्रवाई मान लिया जाये कि कई है returnबयान जो भेजने के लिए या तो उपयोग किया जाता है stringया JSONया Viewस्थिति तो हम का उपयोग करना चाहिए के आधार पर Contentस्ट्रिंग वापस जाने के लिए।
ध्रुवजोशी 12


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


-1

नियंत्रक से किसी स्ट्रिंग को दृश्य में वापस करने का 2 तरीका है

प्रथम

आप केवल स्ट्रिंग वापस कर सकते हैं, लेकिन इसे html फ़ाइल में शामिल नहीं किया जाएगा, यह ब्राउज़र में jus 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 चलाने के लिए यह आपको रिजल्ट व्यू पर रीडायरेक्ट करेगा और 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 पर चलाता हूं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.