0

背景は次のとおりです。IIS 7 と .NET 4 を実行する Windows ボックスに Orchard CMS をインストールしました。すべてが完全に機能します。

お問い合わせフォームがありますが、非常に簡単です。唯一の違いは、送信が Ajax を介して行われることです。

Ajax スクリプトは非常に単純であり、CMS 環境外でテストすると問題なく動作します。

    var dataString = 'fName='+ fName + '&fTitle='+ fTitle + '&fCompany='+ fCompany + '&fEmail=' + fEmail + '&fPhone=' + fPhone + '&fOptout=' + fOptout;  
//alert (dataString);return false;  
$.ajax({  
  type: "POST",  
  url: "/form_pc_aspx",  
  data: dataString,  
  //changed to error for testing purposes.  test is error
  success: function() {  
    $('.error').hide();
    $('#calc-blind').hide();  
    $('#calcForm').fadeIn();  
  }  
});  
return false;  

問題は、ページが CMS に配置されると、/form_pc.aspx が 404 でブロックされ、コードが処理されないことです。

オーチャード フォーラムでこの質問をしましたが、うまくいきませんでした。

権限の問題のようですが、この form_pc.aspx ファイルへの直接アクセスを許可する方法や、Ajax がフォームを送信できるようにする方法がわかりません。

私を正しい方向に向ける助けをいただければ幸いです。

4

2 に答える 2

1

Orchard 内の aspx ページに投稿するのではなく、モジュールの 1 つに配置したコントローラーに投稿する必要があります。MVC ヘルパーを使用すると、コントローラー内でアクションの URL を見つけて、その方法で ajax 呼び出しを行うことができます。Orchard を学習するために作成したモジュールの 1 つで行っていることなので、それが機能することはわかっています。

于 2011-03-10T18:45:26.910 に答える
0

Orchard CMS はASP.NET MVC 3に基づいて構築されているため、既定では、 .aspx で終わる URL はありません。WebForms .aspx ファイルを配置して機能させることはできません。ASP.NET MVC と WebForms の混在に関するこの記事を読むことをお勧めします。Orchard CMS は単なる ASP.NET MVC アプリ (空想的ですが) であるため、これは確実に実行可能です。

セットアップの詳細と、正確に何を達成したいのかを教えてください。より具体的な解決策を提供するのに役立ちます。

一見すると、何か問題があるように見えますが、ninja-style-mixing-mvc-and-webforms を使わずに簡単に実現できます :)

于 2011-03-10T01:45:00.033 に答える