Asp.net mvc 是否可以让Html.ActionLink自动添加URL参数?

Asp.net mvc 是否可以让Html.ActionLink自动添加URL参数?,asp.net-mvc,Asp.net Mvc,我希望所有URL都包含某个参数,而不必将其传递给视图,并通过routevalues参数将其添加到ActionLink。我有一个在我的网站,我想保持所有链接的“返回参数”跟踪部分。它对表单很有效,因为Html.BeginForm已经将操作设置为准确的当前url 所以,如果我在的页面是 /MyController/MyAction/300?ReturnTo=100 然后我输出 Html.ActionLink("Next Screen", "MyOtherAction") 我想看看 <a h

我希望所有URL都包含某个参数,而不必将其传递给视图,并通过routevalues参数将其添加到ActionLink。我有一个在我的网站,我想保持所有链接的“返回参数”跟踪部分。它对表单很有效,因为Html.BeginForm已经将操作设置为准确的当前url

所以,如果我在的页面是

/MyController/MyAction/300?ReturnTo=100
然后我输出

Html.ActionLink("Next Screen", "MyOtherAction")
我想看看

<a href="/MyController/MyOtherAction/300?ReturnTo=100">Next Screen</a>

您可以通过调用Html.ActionLink并组合查询字符串来编写自己的HtmlHelper扩展来实现这一点。使用ViewContext获取当前查询字符串。

您可以编写自己的HtmlHelper扩展,通过调用Html.ActionLink并组合查询字符串来实现这一点。使用ViewContext获取当前查询字符串。

尝试以下操作:

Html.ActionLink("Next Screen", "MyOtherAction", new {Model.ReturnTo})
链接现在将按您希望的方式显示。

尝试以下操作:

Html.ActionLink("Next Screen", "MyOtherAction", new {Model.ReturnTo})

链接现在将按您希望的方式显示。

听起来不错。在视图帮助程序中访问HttpContext.Current.Request是否会让您觉得违反了mvc惯例?确切地说,您不需要这样做。它可以通过helper参数获得,听起来不错。在视图帮助程序中访问HttpContext.Current.Request是否会让您觉得违反了mvc惯例?确切地说,您不需要这样做。它可以通过helper参数获得。在回答之前,你必须阅读整个问题,你写的那一行正是我想知道如何不写的那一行。在回答之前,你必须阅读整个问题,你写的那一行正是我想知道如何不写的那一行。