Trong cuộc gọi AJAX của tôi, tôi muốn trả về một giá trị chuỗi quay lại trang gọi.Trong MVC, làm cách nào để trả lại kết quả chuỗi?
Tôi có nên sử dụng ActionResult
hoặc chỉ trả về một chuỗi không?
Trong cuộc gọi AJAX của tôi, tôi muốn trả về một giá trị chuỗi quay lại trang gọi.Trong MVC, làm cách nào để trả lại kết quả chuỗi?
Tôi có nên sử dụng ActionResult
hoặc chỉ trả về một chuỗi không?
Bạn chỉ có thể sử dụng ContentResult
để trả về một chuỗi đồng bằng:
public ActionResult Temp() {
return Content("Hi there!");
}
ContentResult
theo mặc định trả về một text/plain
như contentType của nó. Điều này có thể quá tải để bạn cũng có thể làm:
return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
Bạn cũng có thể trả lại chuỗi nếu bạn biết đó là điều duy nhất mà phương thức sẽ trả về. Ví dụ:
public string MyActionName() {
return "Hi there!";
}
Phil, đây có phải là "Thực hành Tốt nhất" không, bạn có thể giải thích sự khác biệt giữa câu trả lời của bạn và @swilliam 's –
Bạn không thể trả về chuỗi từ phương thức trả về ActionResult, vì vậy trong trường hợp này bạn trả về Nội dung ("") như swilliams giải thích. Nếu bạn chỉ cần trả về một chuỗi, thì bạn sẽ có phương thức trả về một chuỗi, như Phil giải thích. – Arkiliknam
Giả sử hành động tương tự có nhiều câu lệnh 'return' được sử dụng để gửi' string' hoặc 'JSON' hoặc' View' dựa trên điều kiện thì chúng ta phải sử dụng 'Content' để trả về chuỗi. – DhruvJoshi
public ActionResult GetAjaxValue()
{
return Content("string value");
}
tốt hơn để giải thích thêm trong khi trả lời – Mostafiz
public JsonResult GetAjaxValue()
{
return Json("string value", JsonRequetBehaviour.Allowget);
}
có 2 cách để trả về một chuỗi từ bộ điều khiển để quan điểm
đầu tiên
bạn có thể trở lại chỉ chuỗi nhưng sẽ không được được bao gồm trong tệp html html sẽ xuất hiện trong trình duyệt
thứ hai
có thể trả về một chuỗi như đối tượng của Xem Kết Quả
đây là mẫu mã để làm điều này
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);
}
}
theo quan điểm của tập tin để chạy AutoProperty nó sẽ chuyển hướng bạn đến Kết quả xem và sẽ gửi s
mã để xem
<!--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>
tôi chạy nó ở http://localhost:60227/Home/AutoProperty
séc [ở đây] (http://stackoverflow.com/a/30323853/2218697) để ** trả về thông điệp cảnh báo bootstrap ** – stom