URL重写与AjaxToolkit创建兼容性问题

时间:2015-10-20 17:26:27

标签: asp.net .htaccess url-rewriting asp.net-ajax ajaxcontroltoolkit

我正在使用最新的AjaxControlToolKit v15.1.3并使用...

  

ajaxtoolkit:calendarextender

单击时弹出日历工具。
一切都很好,直到那里。现在,当我在web.config文件中添加URL重写代码时,单击弹出窗口不再发生。我需要更新代码的任何特定编辑才能工作。

以下是网址重写代码:

<rewrite>
  <rules>
    <rule name="RewriteASPX">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      </conditions>
      <action type="Rewrite" url="{R:1}.aspx" />
    </rule>
  </rules>
</rewrite>

1 个答案:

答案 0 :(得分:0)

已知AjaxControlToolkit不能与URL重写一起使用。这是因为AjaxControlToolkit在运行时生成两个带有.axd扩展名的脚本文件:WebResource.axd和ScriptResource.axd。对这两个.axd文件的几个引用将插入到客户端HTML中,其中包含大量字母数字字符和非字母数字字符作为URL参数。使用URL重写时,这些引用将失败。在我的情况下,and as outlined in this post,特定的失败是403(禁止)错误。该帖子中提供的解决方案为我工作,即删除所有URL重写。希望这也是你的选择。