Asp.net mvc 将参数附加到ActionLink

Asp.net mvc 将参数附加到ActionLink,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,是否可以在不更改视图文件中的代码的情况下将参数附加到每个@Html.ActionLink 比如: public ActionResult Edit(int id) { RouteData.Values.Add("param_name", "param_value"); // This does not work return View(); } 我希望所有链接都包含参数: <a href="/controller/action/1?param_name=param_val

是否可以在不更改视图文件中的代码的情况下将参数附加到每个@Html.ActionLink

比如:

public ActionResult Edit(int id)
{
    RouteData.Values.Add("param_name", "param_value"); // This does not work
    return View();
}
我希望所有链接都包含参数:

<a href="/controller/action/1?param_name=param_value">test</a>


会话不是一个好选项,因为用户可以在浏览器中打开多个窗口。

为什么要在控制器中执行此操作?使用
@Html.ActionLink
操作非常简单:

@Html.ActionLink("Edit", "Edit", "Controller", 
                 new { id = 1, param_name = "param_value" })
这将产生:

<a href="/Controller/Edit/1?param_name=param_value">Edit</a>


如果由于某种原因,这不适用于您的项目,您应该能够通过布线来实现这一点。

可以在布线级别上实现,请参阅。如果您想在
操作
/
视图
级别执行此操作,那么您可能仍然可以创建一个路由类,该类将根据控制器的某些数据集生成URL。

我想将此参数附加到页面上的所有链接,包括版面页面上定义的链接,局部视图等@Corneliu您可以尝试创建自己的路由处理程序,如建议的那样。