2011-08-12 6 views
0

MVCに新しいです。これをASP.NET MVCでどのようにルーティングするのですか

私はその後、チャート(JavaScriptを使用してHighchartsチャート)を表示するビューを有するIアクション結果

public ActionResult TheChart { ...etc 

を有するいくつかのグラフのコントローラ(ChartsController)を有します。これによりデータが呼び出されます

public JsonResult GetData(string id) { ..etc 

すべてがうまくいきます。

パラメータを追加して、特定の条件のビューでjavascriptを少し変更することができます。 (印刷用表示) 私はその後、私はビューでこれをつかむことができる

public ActionResult TheChart(string mediaType) 
{ 
    if (mediaType="print"){ 
      ViewData["pdf"] = true; 
    } 
} 

のようなものを考えていました。

問題は、現在私のJsonResultが動作していないことです(私はルーティングのためだと思います)。 これを解決する方法のアイデアはありますか?

+0

どのリクエストが処理され、どのリクエストが処理されないのかをより正確に教えてください。 「私のJsonResultは動作しません」という意味はどうですか?あなたのコードはヒットしていませんか?あなたのクライアントは結果を受け取っていませんか? http:// mysite/Controller/TheChart?mediaType = pdfが正しく受信され、処理されたことを意味しますか?http:// mysite/Controller/GetData/idにサーバーコードが表示されていませんか? WireSharkなどのスニッファを使って電線の状態を確認しましたか? –

答えて

0

あなたは(文字列MEDIATYPE)

を持っているので、それは何が必要ですが、このような新しいルートです:

routes.MapRoute("all-user", "Controller/TheChart/{mediaType}", 
         new { controller = "Controller", action = "TheChart"}); 

あなたはまだこれらを使用haventは包み、これはあなたのGlobal.asaxファイル内部に入ります。

+0

ありがとう - 私はそこを見ていた。 – Matt

+0

あなたの歓迎:-) – davethecoder

0

これはちょうどタイプミスですか、実際にはif (mediaType="print"){と書いてありますか?等号がありません。

+0

ちょうどタイプミス! – Matt

関連する問題