パラメータを使用すると、現在のroutedataとキーとの匿名のオブジェクトを渡すと、変更したい値としてあなたはヘルパーメソッド
public static class UrlHelperExtensions
{
public static string RouteToCurrent(this UrlHelper urlHelper, RouteData routeData, object routeValues)
{
// Create an IDictionary<string, object>
var requestRouteData = new RouteValueDictionary(routeData.Values);
var replaceValues = new RouteValueDictionary(routeValues);
foreach (var value in replaceValues)
{
if (requestRouteData.ContainsKey(value.Key))
{
requestRouteData[value.Key] = value.Value;
}
else
{
requestRouteData.Add(value.Key, value.Value);
}
}
return urlHelper.RouteUrl(requestRouteData);
}
}
を作成することができます。
@foreach (var lang in Model.LanguageList)
{
<li>
<a href="@Url.RouteToCurrent(ViewContext.RouteData, new {locale = lang})">@lang</a>
</li>
}
出典
2016-05-09 08:39:34
tmg