簡體   English   中英

如何將變量從控制器傳遞到視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM