使用Url.Action将viewbag传递给action方法?

use*_*335 1 actionlink asp.net-mvc-3

我有一个视图,其中我有一个Url.Action链接.当用户点击此链接时,我正在重定向到一个操作方法.当用户点击Url.Action链接时,我需要将viewbag传递给此方法,我需要在重定向的action方法中访问此viewbag值.

在视图中:

<a class="Border left " id="BackBtn"
                       href="@Url.Action("Search")">
                        <span>@Labels.BacktoQuesstions</span>
                    </a>
Run Code Online (Sandbox Code Playgroud)

在控制器中:

public ActionResult Search()
        {

            //Here I need to access the viewbag value from Url.Action method
        }
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议!!

小智 5

您无法以ViewBag这种方式访问属性.ViewBag用于将数据从控制器传递到视图(而不是从视图传递到控制器)

更改操作方法以接受参数

public ActionResult Search(string id)
{
  if (id != null)
  {
    // do something with the id
  ....
Run Code Online (Sandbox Code Playgroud)

并使用html帮助程序在视图中构建链接

@Html.ActionLink("Back to Questions", "Search", new { id = ViewBag.SomeValue });
Run Code Online (Sandbox Code Playgroud)