MVC ActionLink добавляет все (необязательные) параметры из текущего URL

Очень известный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. Это должно пройти намного проще.

Вопрос: Как мне вернуть все параметры текущего URL вActionLink по желанию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;
    }

Details.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") %>

Ответы на вопрос(2)

Ваш ответ на вопрос