Asp.net 使用自定义虚拟路径

Asp.net 使用自定义虚拟路径,asp.net,Asp.net,我正在制作一个测试解决方案,其中只有2或3个页面被组织在如下文件夹中: 当我运行应用程序时,我会得到如下url: 有任何方法可以维护该物理路径,但有不同的虚拟路径,如 http://localhost:40300/Index.aspx 如果没有“视图”这个奇怪的词,请查看IIS的应用程序。作为替代方案,您可以选择适当重写虚拟路径的方法: public class MyRewriteHttpModule : IHttpModule { // ... public void Init

我正在制作一个测试解决方案,其中只有2或3个页面被组织在如下文件夹中:

当我运行应用程序时,我会得到如下url:

有任何方法可以维护该物理路径,但有不同的虚拟路径,如

http://localhost:40300/Index.aspx
如果没有“视图”这个奇怪的词,请查看IIS的应用程序。作为替代方案,您可以选择适当重写虚拟路径的方法:

public class MyRewriteHttpModule : IHttpModule
{
  // ...

  public void Init(HttpApplication app)
  {
    app.AuthenticateRequest += Application_AuthenticateRequest;
  }

  private void Application_AuthenticateRequest(object sender, EventArgs e)
  {
    var app = sender as HttpApplication;
    var path = app.Request.Url.PathAndQuery;

    if (!path.StartsWith("/Views/", StringComparison.OrdinalIgnoreCase))
      app.Context.RewritePath("/Views/" + path);
  }
}

好。。。你为什么把它放在视图文件夹里?看起来像是带有WebForms页面的ASP.NET MVC文件结构…@MikeSmithDev我只是想组织视图。您好,对于此解决方案,我需要访问IIS,对吗?但我只能发布到ftpSorry,我有很多工作要做。我没有做过很强的测试,但效果很好。标记为被接受的答案。顺致敬意,