2016-06-13 5 views
0

asp.netプロジェクトのマスターページからwebmethodを呼び出そうとしていて、ほぼ成功しました。私のソリューションエクスプローラでは、 "Master Page"と "MyService.asmx"はルートフォルダにありますが、コンテンツページはフォルダ内にあり、 "Admin"フォルダと呼ばれています。だから私は、ページに移動し、「管理者/ firstcontent.aspx」私はこのasp.netのマスターページからjquery ajax呼び出しでページURLを指定する方法

$.ajax({ 
      type: "POST", 
      url: "../MyService.asmx/HelloWorld", 
      data: '{}', 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (response) { 
       alert(response.d); 
      } 
     }); 

しかし、私は、「管理者/マスター/ secondcontent.aspx」ページに移動するとき、私は指定する必要がありますようにマスターページのURLを指定する必要がありますこの

$.ajax({ 
      type: "POST", 
      url: "../../MyService.asmx/HelloWorld", 
      data: '{}', 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (response) { 
       alert(response.d); 
      } 
     }); 

第2の課題のようなURL: -すべてのコンテンツページで私が持っている必要がありますが、ヘッド部の内側にjquery.min呼び出します。

答えて

0

私は通常、私は、マスターページなどwindow.applicationBaseUrl='<%= Url.Content("~/")' %>'にグローバルjavascriptの変数を作成し、このようなすべてのサブページで使用され何:あなたがにアプリケーションをデプロイする際

$.ajax({ 
     type: "POST", 
     url: window.applicationBaseUrl + "MyService.asmx/HelloWorld", 
     data: '{}', 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (response) { 
      alert(response.d); 
     } 
    }); 

相対パスがねじ込みれるかもしれませんIIS。

+0

ここには何ですか? –

+0

UrlHelperクラス(System.Web.Mvc内) –

+0

MVCを使用していません –

0

まずあなたはこれを試して

var rootpath="www.yourdomainname.com" or "localhost:8080" 

のようにして使用するROOTPATH変数の後にアプリケーションのルートパスを定義し、あなたの方法

 $.ajax({ 
      type: "POST", 
      url: rootpath + "MyService.asmx/HelloWorld", 
      data: '{}', 
       contentType: "application/json; charset=utf-8", 
      dataType: "json", 
     success: function (response) { 
     alert(response.d); 
    } 
}); 

を呼び出す必要があります。おかげで

関連する問題