2017-09-18 9 views
0

私は現在、古典的なaspで書かれたこの古いアプリケーションコードを持つ1つのアプリケーションで作業しています。 1つの強化要件のために、私はそのアプリケーションに.aspxページを追加しました(私はasp.netより古典的なASPを好む)。 私の.aspxページには、マークアップとjqueryコード(イベント変更コード)と、サーバーサイドWebメソッドへのajax呼び出しが含まれています。 [別のソリューション(asp.net)として、私の.aspxコードは正常に動作しますが、クラシックaspアプリケーションでその.aspxページを統合すると、jquery ajaxコールはサーバー側Webメソッドに到達しません。常にエラーを投げます。 (私はクロージャを使いました)。達成しようとしていることは本当に可能ですか?はいの場合、どのように?それともエラーの原因になるのでしょうか? また、.aspxからajaxコードセグメントを削除しようとしましたが、サーバー側で同じイベント変更コードを書き込もうとしました。どちらも機能しません。 何か提案がありがとうございます。前もって感謝します!古典的なaspアプリケーションに統合されている.aspxページからWebメソッドを呼び出すことができません

EDIT:

jqueryのAJAX呼び出し -

$アヤックス({ タイプ: "POST"、 URL: "xyz.aspx /のsomeMethod"、 データ: "{sampleString:「" + sampleString + "'}"、 のcontentType: "アプリケーション/ JSON;のcharset = UTF-8"、 データ型: "JSON"、 キャッシュ:偽、 成功:関数(データ){ //成功 }、 エラー:function(dat a){ アラート( "エラー:" + data.d); //ここにエラーがスローされます - 未定義です。 } }); });

ウェブ方法 - 私は私のasp.netソリューションでコードを実行すると

[WebMethod] 
    public static string someMethod(string sampleString) 
    { 
     try 
     { 
      //my actual code logic 
     } 
     catch (Exception ex) 
     {} 
    } 

この上記のコードセグメントはabosultely正常に動作します。しかし、私はこの個別の.aspxページを(明らかに.aspx.csと共に)取り出して、古典的なaspアプリケーションの仮想ディレクトリに保存する必要があるという要件があります。このアプリケーションの他のすべてのページは.aspページ(VBスクリプト)で、1つの異なるページ、つまり.aspxしかありません。

IISでこの古典的なASPアプリケーションをホストして実行するために、私は同じものの仮想ディレクトリを作成し、そのディレクトリに自分の.aspxと.aspx.csページだけを置いています。 (web.config、app_start、no app_codeフォルダはありません.2つのファイルだけです)ブラウザの.aspxページをそのディレクトリから読み込むことができます。私はブラウザでレンダリングされた実際のページを見ることができます。しかし、機能はまったく機能しません。

+0

少なくともエラーやコードの一部を知っておく必要があります。 – hardkoded

+0

私の編集をご覧ください。ありがとう! – ni3

答えて

0

数百回の試行錯誤の末、私が達成しようとしているシナリオがうまくいくと結論づけました。 .aspxページ(.aspxと.aspx.cs)は、従来のaspアプリケーションディレクトリに単独で置いていました。ページは問題なく正常にレンダリングされます。しかし、ページが完全にロードされた後、その.aspxページに書かれたサーバーサイドコードを実行しようとすると、動作しません。 書かれたスクリプト・コード(jquery)は、クライアント・サイド・コードのみを呼び出す必要がある範囲でのみ実行されます。 .aspxページが提供されると、サーバーサイドのメソッドを呼び出すことはできません(つまり、page_loadイベントとその関連するメソッドのみが動作します)。同じページからページメソッドを再度呼び出すことはできません(page_loadは既に起動されているため、button_clickやdropdownIndex_changedなどのイベントは発生しません)。 考えられる原因 - .aspxページをホストする実行時環境がありません。すべての.aspxページ(最初に提供されている間)は、コマンドとして古典的なASPによって処理/実行されています。 しかし、私はまだルートレベルでこの動作を研究しています。

これ以上の提案や考えは歓迎です。

関連する問題