MVC在用户点击actionlink时设置tempdata

时间:2014-07-20 19:13:03

标签: asp.net-mvc actionlink

有可能吗?

我试过了:

@Html.ActionLink("linktext", "Index", "Home", null, new { @TempData["variablehere"] = "texthere"; })

但是没有用..

2 个答案:

答案 0 :(得分:0)

这是不可能的,但您可以在查询字符串中传递值。控制器:

public class HomeController : Controller
{
    public ActionResult Index(string valueToBePassed)
    {
        return View();
    }
}

HTML:

@Html.ActionLink("linkText", "Index", "Home", new { valueToBePassed = "ABCDEF" }, null)

答案 1 :(得分:0)

您可以这样做

您的操作结果:

public ActionResult Index(string valueToBePassed)
{
   TempData["valuetopass"]=valueToBePassed;    // if need use .ToString();
   TempData.Keep();

    return View();
}

这是您的view any.cshtml

@Html.ActionLink("linktext", "Index", "Home", null, new {@valueToBePassed= @TempData["valuetopass"] })

您可以使用此分配在链接视图中查看结果

<p>@TempData[valuetopass]</p>

就是这样。试试这个