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

时间:2014-08-27 00:31:36

标签: asp.net-mvc-3 actionlink

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

在视图中:

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

在控制器中:

public ActionResult Search()
        {

            //Here I need to access the viewbag value from Url.Action method
        }

感谢您的建议!!

1 个答案:

答案 0 :(得分:5)

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

将您的操作方法更改为接受参数

public ActionResult Search(string id)
{
  if (id != null)
  {
    // do something with the id
  ....

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

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