6
HtmlHelper.ActionLink
の単純な拡張を作成して、ルート値辞書に値を追加したいとします。パラメータはすなわち、HtmlHelper.ActionLink
と同一である。:HtmlHelper拡張メソッドのrouteValuesに追加
public static MvcHtmlString FooableActionLink(
this HtmlHelper html,
string linkText,
string actionName,
string controllerName,
object routeValues,
object htmlAttributes)
{
// Add a value to routeValues (based on Session, current Request Url, etc.)
// object newRouteValues = AddStuffTo(routeValues);
// Call the default implementation.
return html.ActionLink(
linkText,
actionName,
controllerName,
newRouteValues,
htmlAttributes);
}
私はrouteValues
に追加してい何のための論理拡張メソッドヘルパーではなく、各ビューでそれを繰り返すそれを置くので、私の願望、やや冗長です。
私は(下記の答えとして掲載)動作しているようだソリューションを持っていますが、:
- このような単純な作業のために、不必要に複雑であると思われます。
- 私は、NullReferenceExceptionや何かを引き起こしているいくつかのエッジケースのように、すべてのキャスティングが壊れやすいと私に警告します。
改善や改善のための提案を投稿してください。興味のある方は
は、私はこの答えに関連している、この質問をしていますhttp://stackoverflow.com/questions/9595334/correctly-making-an-actionlink-extension-with-htmlattributes –