MSCaptcha在集成的MVC和Webform项目的SubFolder中不起作用

时间:2018-07-08 08:44:09

标签: c# asp.net model-view-controller webforms

我有一个集成了MVC和Webform的项目。 MScaptch可以在根目录的aspx中正常运行,但不能在内部文件夹中的aspx文件中运行。

根---- Mscaptcha中的

faq.aspx --->可以。

BranchPortal / Faq.aspx ---> Mscaptcha在这里不起作用。

我的Web.config代码:

<system.web>    
<httpHandlers>
      <remove verb="GET" path="CaptchaImage.axd" />
      <add verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler,MSCaptcha"/>
.
.
.
.
<system.webServer>
<handlers >
      <remove name="CAPTCHAHandler" />
      <add name="CAPTCHAHandler" verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler,MSCaptcha" />

mscaptch在子文件夹的aspx文件中呈现了以下内容:

http://localhost:4966/BranchPortal/CaptchaImage.axd?guid=fe88a632-3832-4a7f-9c1d-c749ecc658f4 ----->错误:404(未找到)

没关系

http://localhost:4966/CaptchaImage.axd?guid=fe88a632-3832-4a7f-9c1d-c749ecc658f4

对不起,英语不好!

1 个答案:

答案 0 :(得分:0)

我通过添加以下行找到了解决方案:

routes.IgnoreRoute(“ BranchPortal / {resource} .axd / {* pathInfo}”);

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.IgnoreRoute("BranchPortal/{resource}.axd/{*pathInfo}");