非常に有名なActionLink:
 <%: Html.ActionLink("Back to List", "Index")%>
これで、このリンクは [詳細] ビューに表示されました。インデックス ビューは検索ページです。その URL は次のようになります。
http://localhost:50152/2011-2012/Instelling/Details/76?gemeente=Dendermonde&postcode=92**&gebruikerscode=VVKSO114421&dossiernr=114421%20&organisatie=CLB
ご覧のとおり、かなりの数のパラメーターがあります。明らかに、インデックス ページに戻ったときにこれらすべてのパラメーターを保持したいので、ActionLink.
さて、私はそれを手動で行うのにうんざりしています。1 の場合は問題ありませんが、6 の場合は問題ありません。これははるかに簡単になるはずです。
ActionLink質問: 現在の URL のすべてのパラメーターをオプションとしてに返すにはどうすればよいですかRouteValues。
を探していましたRequest.QueryString。それはそれで何かでなければなりません。仕事をする際に静的メソッドを書くことを考えGlobal.asaxていましたが、まだ運がありません。多分私が知らないこれを行う簡単な方法はありますか?
編集:これは私が思いついたものです(これは機能します)
global.asaxで:
    public static RouteValueDictionary optionalParamters(NameValueCollection c) {
        RouteValueDictionary r = new RouteValueDictionary();
        foreach (string s in c.AllKeys) {
            r.Add(s, c[s]);
        }
        return r;
    }
詳細.aspx:
    <%: Html.ActionLink("Back to List", "Index", MVC2_NASTEST.MvcApplication.optionalParamters(Request.QueryString))%>
このコードをどこに配置するのが最適ですか? 私は推測しないGlobal.asax...
編集2:
using System;
using System.Web.Mvc;
namespace MVC2_NASTEST.Helpers {
    public static class ActionLinkwParamsExtensions {
        public static MvcHtmlString CustomLink(this HtmlHelper helper, string linktext) {
            //here u can use helper to get View context and then routvalue dictionary
            var routevals = helper.ViewContext.RouteData.Values;
            //here u can do whatever u want with route values
            return null;
        }
    }
}
<%@ Import Namespace="MVC2_NASTEST.Helpers" %>
...
<%: Html.ActionLinkwParams("Index") %>