এমভিসিতে, আমি কীভাবে একটি স্ট্রিং ফলাফল ফিরিয়ে দেব?


630

আমার এজেএক্স কলে, আমি কলিং পৃষ্ঠায় একটি স্ট্রিং মানটি ফিরিয়ে দিতে চাই।

আমার 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");

আপনার রিটার্নের ধরণ যদি স্ট্রিং হয় তবে কনটেন্টটাইপ কী?
ব্যবহারকারী 1886419

7
আমি কিভাবে সঠিক এই উত্তর তখন ছিল জানি না, কিন্তু বর্তমানে ContentResultআছে if (!String.IsNullOrEmpty(ContentType))সূর্যাস্তের পূর্বে HttpContext.Response.ContentType। আমি দেখছি text/htmlআপনার প্রথম উদাহরণ, হয় যে এখন ডিফল্ট বা এটি দ্বারা শিক্ষিত অনুমান HttpContext
ব্যবহারকারী 247702

আমি কীভাবে অ্যাক্সেস করতে পারি?
প্রদীপ কুমার দাস

4
ছোট সংযোজন: আক্ষরিকভাবে "পাঠ্য / প্লেইন" কে স্ট্রিং হিসাবে যুক্ত করার পরিবর্তে আপনি .NET ফ্রেমওয়ার্ক ধ্রুবক ব্যবহার করতে পারেন MediaTypeNames.Text.Plainবা এর মতো MediaTypeNames.Text.Xml। যদিও এটিতে সর্বাধিক ব্যবহৃত কিছু MIME প্রকার রয়েছে। ( ডকস.মাইক্রোসফট.ইন- ইউএস / ডটনেট / এপি // )
-

ভোট দেওয়া হয়েছে, যদিও @ স্টিজন মন্তব্য অনুসারে এইচটিএমএল পাঠানোর সময় আমার মাইম টাইপটিকে "পাঠ্য / প্লেইন" হিসাবে নির্দিষ্ট করতে হবে।
রবার্তো

113

আপনি কেবল স্ট্রিংটি ফিরে আসতে পারেন যদি আপনি জানেন যে পদ্ধতিটি কেবলমাত্র ফিরে আসবে। উদাহরণ স্বরূপ:

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

10
ফিল, এটি কি একটি "সেরা অনুশীলন", আপনি দয়া করে আপনার উত্তর এবং @ সিলিলিয়ামের
ডেভিড

9
আপনি কোনও পদ্ধতি থেকে একটি স্ট্রিং ফিরিয়ে দিতে পারবেন না যা অ্যাকশন রেজাল্ট দেয় returns সুতরাং সিলুইয়ামের ব্যাখ্যা অনুসারে আপনি কন্টেন্ট ("") ফিরিয়ে আনবেন। আপনার যদি কেবল কোনও স্ট্রিং ফেরত আসতে হয় তবে ফিলের ব্যাখ্যা অনুসারে আপনার কাছে পদ্ধতিটি একটি স্ট্রিং ফিরিয়ে আনতে পারে।
আরকিলিকনাম

3
যে একই কর্ম ধরে নেওয়া যাক একাধিক হয়েছে returnবিবৃতি যা পাঠাতে পারেন ব্যবহার করা হয় stringবা JSONবা Viewঅবস্থার তারপর আমরা ব্যবহার করা আবশ্যক উপর ভিত্তি করে Contentস্ট্রিং দেখাবে।
ধ্রুব জোশি


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

0

২০২০ সাল পর্যন্ত, উপরেContentResult প্রস্তাবিত হিসাবে ব্যবহার করা এখনও সঠিক পন্থা , তবে ব্যবহারটি নিম্নরূপ:

return new System.Web.Mvc.ContentResult
{
    Content = "Hi there! ☺",
    ContentType = "text/plain; charset=utf-8"
}

-1

নিয়ামক থেকে দর্শনটিতে একটি স্ট্রিং ফেরত দেওয়ার 2 উপায় রয়েছে

প্রথম

আপনি কেবল স্ট্রিংই ফিরে আসতে পারেন তবে এইচটিএমএল ফাইলে অন্তর্ভুক্ত করা হবে না এটি ব্রাউজারে ঠিক স্ট্রিং প্রদর্শিত হবে


দ্বিতীয়

ফলাফল ফলাফলের অবজেক্ট হিসাবে একটি স্ট্রিং ফিরিয়ে দিতে পারে

এটি করার জন্য কোড নমুনা এখানে

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 এটি আপনাকে পুনঃনির্দেশিত করা হবে ফলাফল দেখুন এবং পাঠাতে হবে গুলি
দৃশ্যে কোড

<!--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: // লোকালহোস্ট: 60227 / হোম / অটোপ্রপার্টি এ চালাচ্ছি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.