0

非常に小さな Web アプリを作成しました。きれいな URL を使用したいのですが、urlrewriting を使用すると PageMethods に到達できません。JavaScript ファイルから PageMethods に到達しようとしていますが、isPostBack は false を返し、ページを更新するだけです。

urlrewriting を使用しない場合、完全に機能し、writeHere div に必要なものを書き込みます。

何が問題なのですか?

js関数を呼び出すANCHORです

Test <a href="#" onclick = "testjs('test');">HERE</a>. 
<div id = "writeHere"></div>

これは、PageMethods を呼び出すJS FUNCTIONです。

function testjs(test) {
document.getElementById("writeHere").innerHTML = "";

PageMethods.messi(test,CallSuccess,CallFailed);

function CallSuccess(res) {
    document.getElementById("writeHere").innerHTML = res.toString();
}

function CallFailed(res) {
   document.getElementById('writeHere').innerHTML = "ERROR";
   }
}

aspxファイルのMESSI METHODはこちら

[System.Web.Services.WebMethod]
public static string messi(string test)
{
    return test; 
}

最後に、これがREWRITING RULEです。

<rewriter>
<rewrite url="~/(.+).aspx" to="~/uso/$1.aspx" processing ="stop"/>
</rewriter>

どんな助けでも大歓迎です。

4

1 に答える 1

1

使用している書き換えエンジンがわからない場合は、クエリ文字列も書き換えられた URL に引き継がれていることを確認してください。が GET 動詞を使用してリクエストを送信している場合PageMethods.messi、ポストバックであることを通知するパラメーターはクエリ文字列にあります。

于 2012-12-05T08:44:27.557 に答える