2009-04-15 7 views
0

以下のようなjavacスクリプトコードがあります。 "/ ContollerName/ActionName"をいくつかのパラメータでajax呼び出しを行う方法に注目してください。アプリケーションがIISのサイトルートに展開されている限り、これは正常に動作します。しかし、それを仮想ディレクトリに展開すると、パスはサイトルートまですべて戻ってきて失敗します。Webサーバー上のアプリケーションレベルに依存しない相対AJAXパス

$.get("/ControllerName/ActionName", { foo: _bar, foo2: $(titleRow).attr("id"), 
      Direction: direction 
     }, function(data, success) { 
      if (eval(data).Result == _successEnum) { 
       successfulCallback(); 
      } else { 
       failCallback(errorMessage, eval(data).LogPath); 
      } 

     }, "json"); 

サイトのルートレベルと仮想ディレクトリの両方に展開できるようにするにはどうすればよいですか。

以下の両方が基本的に機能するはずです。私はASP.NET MVCを使用します。

答えて

1

最初のパラメータとしてUrl.Actionを使用してください。

// link to a controller 
Url.Action("Home"); 
// link to an action 
Url.Action("Home", "Index"); 
+0

Aha!私はそれを使用してコントローラだけのパスを得ることができるのか分からなかった。ちょうど私が必要なもの。ありがとう。 – Riri

関連する問題