Asp.net mvc 将参数附加到ActionLink
是否可以在不更改视图文件中的代码的情况下将参数附加到每个@Html.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
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您可以尝试创建自己的路由处理程序,如建议的那样。