2012-12-04 17 views
0

我創建了一個非常小的Web應用程序。我想使用乾淨的網址,但如果我使用urlrewriting,我無法訪問PageMethods。我試圖從JavaScript文件到達PageMethods,但isPostBack返回false,它只是刷新頁面。使用urlrewriting時IsPostBack返回始終爲false

如果我不使用urlrewriting它完美的作品,並寫任何我想writeHere股利。

這是什麼問題?

這是主播調用JS功能

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

這是JS FUNCTION調用PageMethods

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方法

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

最後這是一個重寫規則

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

任何幫助,將不勝感激。

回答

1

不確定您使用的是什麼重寫引擎,請確保查詢字符串也被轉入重寫的URL。如果PageMethods.messi正在使用GET謂詞發送請求,則通知它是回發的參數位於查詢字符串中。