[英]How to pass variable from controller to view
我試圖將一個值從我的控制器傳遞給一個視圖,但沒有奏效。
我正在使用 Ajax 腳本將值從視圖傳遞到控制器,該腳本工作正常。 然后我想要做的是將該值傳遞給索引控制器並在索引視圖中顯示它。
這是我的控制器:
static string global;
public ActionResult Index(string id)
{
TempData["var"] = id;
return View();
}
[HttpPost]
public object functon(string data)
{
return Index(data);
}
這是我的觀點:
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<input class="form-group" id="input"/>
<button class="btn btn-success" id="send">Send</button>
@if ((string)TempData["var"] == null)
{
<span>Check</span>
}
else
{
<h1>@TempData["var"].ToString()</h1>
}
@* SCRIPT *@
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$("#send").click(function () {
$.ajax({
type: "POST",
url: "/Acceptvalue/functon",
data: '{data: "' + $("#input").val() + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
},
failure: function (response) {
},
error: function (response) {
}
});
});
});
</script>
我使用視圖模型:
public virtual ActionResult Method()
{
MyViewModel vm = new MyViewModel();
vm.Name = "MyName";
return View(MVC.Controller.Views.MyView, vm); //also works with partial views
}
然后在我看來:
@model MyProject.ViewModels.MyViewModel
<h2>@Model.Name</h2>
使用 ViewBag 並將其填充到您的控制器中:
ViewBag.var = id
然后在視圖中訪問它:
@if(Viewbag.var == null)
另外,使用以下命令編輯您的 function():
return RedirectToAction("Index", new { id = data });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.