私はアプリケーションを持っていますが、書き換えルールを適用しないと魅力的に機能します。ルールを適用すると (同じアドレスを指定しても) pagemethod にアクセスできません。js ファイル内で pagemethod を呼び出します。ページを更新するように動作し、page_load イベントのみが発生します。Page.IsPostback は常に false を返します。
ちなみに関連するならマスターページを使ってます。
Web 構成、urlrewrite ルール
<rewriter>
<rewrite url="~/(.+).aspx" to="~/Forms/$1.aspx" />
</rewriter>
HTTP モジュール
<httpModules>
<add type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" name="UrlRewriter" />
</httpModules>
pagemethods に到達しようとする js 関数
<script>
PageMethods.displayPages(a, CallSuccess, CallFailed);
</script>
ページメソッド
[System.Web.Services.WebMethod]
public static string displayPages(string a)
{
response.write(a);
}
これらは私が試したもので、うまくいきませんでした:
1- Pagemethods.set_path("/forms/Default.aspx"); を追加しました。Jsに
2-同じルールをweb.configに追加しました(そのように機能しません)
<rewriter>
<rewrite url="~/Forms/(.+).aspx" to="~/Forms/$1.aspx" />
</rewriter>
3-マスターページのPage_loadの下にコードを追加しました
form1.Action = Context.Request.RawUrl;
どんな提案も素晴らしいでしょう。助けてくれてありがとう。