機能している Ajax.RouteLink があります。フラグメントを追加したいと思います。正しい構文がわかりません。
フラグメントなしの作業ルート:
return Ajax.RouteLink(
linkText,
routeName,
new { caseNo = caseNo, controller = controllerName, option = contentOption },
new AjaxOptions() { UpdateTargetId = "caseContent", HttpMethod = "Post", OnBegin = onBegin, OnSuccess = onSuccess },
new { Class = cssClass + (contentOption != null && contentOption == contentView ? " active" : "") });
コンパイラ エラー RouteLink のフラグメント:
return Ajax.RouteLink(
linkText: linkText,
routeName: routeName,
protocol: null,
hostName: null,
fragment: fragment,
routeValues: new { caseNo = caseNo, controller = controllerName, option = contentOption },
ajaxOptions: new AjaxOptions() { UpdateTargetId = "caseContent", HttpMethod = "Post", OnBegin = onBegin, OnSuccess = onSuccess },
htmlAttributes: new { Class = cssClass + (contentOption != null && contentOption == contentView ? " active" : "") }
);
routeValues と htmlAttributes のエラー。匿名型から変換できません。
私は試した:
routeValues: new System.Web.Routing.RouteValueDictionary() { caseNo = caseNo, controller = controllerName, option = contentOption }
しかし、その後、コンパイラーはルーティングパラメーター (caseNo、コントローラー、オプション) について不平を言います。
また、プロトコルとホスト名を変更しないので、null のままにしても問題ありませんか?