当UrlRewrite处于活动状态时,无法访问Asp.Net PageMethod

时间:2012-10-19 18:29:09

标签: asp.net url-rewriting url-routing pagemethods

我有一个应用程序,如果我不应用重写规则,它就像一个魅力。 当我应用规则(即使它给出相同的地址)页面方法无法访问。我在js文件中调用pagemethod。它的行为就像刷新页面一样,只有page_load事件触发。 Page.IsPostback总是返回false。

顺便说一句,如果它是相关的,我正在使用母版页。

网络配置,urlrewrite规则

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

Http Modules

  <httpModules>
  <add type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" name="UrlRewriter" />
</httpModules>

试图访问页面方法的Js函数

<script>
PageMethods.displayPages(a, CallSuccess, CallFailed);
</script>

PageMethod的

 [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;

任何建议都会很棒。谢谢你的帮助。

0 个答案:

没有答案
相关问题