在html.actionlink路由值中使用变量

时间:2016-09-14 20:29:57

标签: c# asp.net-mvc

就像标题所说的那样,我只是想在动作链接的路由值部分中使用变量。这是我的代码:

    var viewbag = ViewBag.URL;
    @Html.ActionLink( "Back to previous page", "Index", new { viewbag = true })

所以第二行是阅读" viewbag"作为实际文本而不是变量,我无法弄清楚如何制作变量。所以我生成的网址变为"?viewbag = true"而不是我真正想要的。 ViewBag.URL包含我在控制器中设置的单词。我想把这个词作为参数传递给URL,这样我生成的URL就变成了#34; .... /?word = true"

2 个答案:

答案 0 :(得分:1)

由于您已在ViewBag.URL中设置了网址,因此您可以继续使用HTML锚点<a>。您已经解决了操作链接旨在解决的问题。所以,就这样做:

<a href="@ViewBag.URL"> Back to previous page</a>

答案 1 :(得分:0)

您是否考虑过让浏览器回到上一页?

<a href="javascript:void(0);" onclick="history.go(-1);">Back</a>

这样它将真正回到上一页,而不是&#34;索引&#34;特别是控制器,无论你来自哪个链接。但请记住,(正如Phil1970指出的那样)该页面将来自浏览器的缓存而不是来自重定向的页面,因此对内容的任何更改都不会被反映出来。