当前位置:  开发笔记 > 编程语言 > 正文

asp.net站点默认文件在子文件夹中

如何解决《asp.net站点默认文件在子文件夹中》经验,为你挑选了2个好方法。

我的默认文件是在子文件夹而不是root中如何在asp.net 2.0网站中将其设为默认值.

尝试将iis7默认文档设置为'/pages/default.aspx''〜/ pages/default.aspx',但它不起作用.



1> Mehrdad Afsh..:

默认文档与起始页面不同.默认文档意味着如果我请求mysite.com/somefolder并且没有指定文件,IIS应显示哪个文件.

如果要使用特定页面作为主页,请创建Default.aspx文件并将其写入其代码隐藏类:

public override void ProcessRequest(HttpContext context) {
    context.Response.Redirect("pages/default.aspx", true);
}

由于客户端可能已禁用Javascript,因此服务器端方法将更可靠.但是,最好发出永久重定向而不是简单Response.Redirect.从SEO的角度来看,使用JS做它也会很糟糕.


更好的是,你可以在这里完成同样的事情而无需编写任何代码.只需将default.aspx保留在default.aspx页面中,只需将default.aspx留空,并在web.config文件中,使用"location"标记对该页面进行特定的重定向:` `

2> Mohamed Emad..:

您不需要创建虚拟Default.aspx页面.

在Global.asax.cs文件中,编写以下内容:

public void Application_Start(object sender, EventArgs e)
{
    var routeCollection = RouteTable.Routes;
    routeCollection.MapPageRoute("DefaultRoute", string.Empty, "~/YourDesiredSubFolder/YourDesiredDocument.aspx");
}

说明:

Application_Start代码保证在应用程序启动时运行一次且仅运行一次.

第一行代码获取应用程序的URL路由的集合.

第二行代码定义了一个新路由,指向您希望的子文件夹中的内部页面.

第二个参数为空,表示在没有请求特定页面且没有存在默认文档时使用此路由.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有