使用urlrewriting时,IsPostBack始终返回false

时间:2012-12-04 19:10:51

标签: asp.net url-rewriting

我创建了一个非常小的网络应用。我想使用干净的网址,但如果我使用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>

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

不确定您使用的是什么重写引擎,请确保查询字符串也会转移到重写的URL。如果PageMethods.messi正在使用GET动词发送请求,则通知其回发的参数位于查询字符串中。