2016-05-03 4 views
1

私はT4MVCを使用して、強く型付けされ、保守しやすいアクションリンクを作成しようとしています。T4MVC JavaScriptReplaceableUrlの使用

HERE

var myUrl=<%= Url.JavaScriptReplacableUrl(MVC.Dinners.Display())%> 
//myUrl will be Dinners/Display/{dinnerId} 
var myFinalUrl=myUrl.replace("{dinnerId}", dinnerId); //this will have whatever route shape you defined in routing table! 

から私はJavaScriptReplaceableUrlを使用する方法の複数の例を見てきましたが、私はそれを使用しようとすると、私はアクションのパラメータを指定していないよ、コンパイル時エラーが発生します。

ここでは何が欠けていますか?

var theURL = @Url.JavaScriptReplaceableUrl(MVC.SIXBNY.GetDashboardData()); 

自分のルート設定を変更しました。何が間違っているかわかりません。

routes.MapRoute(
       "GetDashboardData", 
       "SIXBNY/GetDashboardData/{fromDateTime}/{toDateTime}/{pvResultsBatchID}/{pageNumber}/{pageSize}", 
       new { fromDateTime = UrlParameter.Optional, toDateTime = UrlParameter.Optional, pvResultsBatchID = UrlParameter.Optional, pageNumber = UrlParameter.Optional, pageSize = UrlParameter.Optional } 
      ); 
+1

特定のコンパイルエラーは何ですか?そして、あなたはそれが 'JavaScriptReplacableUrl'に関係していることを確信していますか?代わりに' MVC.SIXBNY.GetDashboardData() 'コールに厳密に関連していませんか? –

+0

David!まさに私が望んでいた人、笑。エラーは "メソッドのためのオーバーロードなし 'GetDashboardData' 0引数を取る"だから、そのMVC.SIXBNY.GetDashboardData呼び出し。これを取り除く方法をお手伝いすることで、パラメーターがなくてもこのように呼び出しが行われるようになり、その後にパラメーターをjavascriptのvar値で置き換えることができます。 – Hardycore

答えて

0

通常、T4MVCは、派生クラスにパラメータのないコンストラクタを生成します。 hereのように。これは、その種のコードをコンパイルできるようにするものです。

あなたは生成されたコードを見て、それがそれとは大きく異なっているかどうか確認できますか?

+0

返事をありがとう。終わりまでにあなたに戻ろうとします。 – Hardycore

+0

@Hardycoreのように見えて、一日の終わりにあなたに戻ってきていない – Denny

関連する問題