Установка страницы по умолчанию в Asp.net

Есть ли какой-либо раздел или код, который позволяет нам установить страницу по умолчанию в web.config ?

Например, когда люди впервые посещают мой сайт, я хочу, чтобы они видели CreateThing.aspx а не Default.aspx .

Решения, которые я знаю:

  1. Поместите эту строку кода => Response.Redirect("CreateThings.aspx") в событие Default.aspx Page_Load но этот метод действительно наивен.

  2. Мы можем использовать IIS (конфигурация страницы по умолчанию), но я хочу сделать то же самое в приложении Asp.NET.

Если вы знаете лучшее решение, сообщите мне.

Заранее спасибо.

PS: Причина, по которой я спрашиваю о Web.Config , я считаю, что Web.Config поможет нам в этом.

Изменить : мне просто интересно, как команда Microsoft .NET забыла простую вещь 🙂

Редактировать :

Это может быть еще одно решение:

            

При использовании IIS 7 или IIS 7.5 вы можете использовать

         

http://www.iis.net/ConfigReference/system.webServer/defaultDocument

Совет № 84: Знаете ли вы … Как установить стартовую страницу для своего веб-сайта в Visual Web Developer?

Просто щелкните правой кнопкой мыши на странице, которую вы хотите стать стартовой, и скажите «установить как стартовую страницу».

Карта default.aspx в качестве маршрута HttpHandler и redirect на CreateThings.aspx из HttpHandler.

  

Убедитесь, что Default.aspx физически отсутствует в корне приложения . Если он существует физически, HttpHandler не будет иметь возможности выполнить. Физический файл переопределяет сопоставление HttpHandler.

Кроме того, вы можете повторно использовать это для других страниц, кроме default.aspx.

  

//RedirectHandler.cs в вашем App_Code

 using System; using System.Collections.Generic; using System.Linq; using System.Web; ///  /// Summary description for RedirectHandler ///  public class RedirectHandler : IHttpHandler { public RedirectHandler() { // // TODO: Add constructor logic here // } #region IHttpHandler Members public bool IsReusable { get { return true; } } public void ProcessRequest(HttpContext context) { context.Response.Redirect("CreateThings.aspx"); context.Response.End(); } #endregion } 

Если вы используете проверку подлинности форм, вы можете попробовать код ниже:

     

если вы используете страницу входа на своем веб-сайте, перейдите в файл web.config

     

замените тег аутентификации выше (где index.aspx будет вашей стартовой страницей)

и еще одна вещь пишут это в вашем файле web.config внутри

                  

Вы можете переопределить параметр документа IIS по умолчанию с помощью web.config

         

Или используя IIS, обратитесь к ссылке для справки http://www.iis.net/configreference/system.webserver/defaultdocument

Я предпочитаю использовать следующий метод:

 system.webServer>        

Я выполнил все вышеупомянутые решения, но это не сработало.

Моя страница по умолчанию не была страницей aspx, это была страница html.

Эта статья решила проблему. https://weblog.west-wind.com/posts/2013/aug/15/iis-default-documents-vs-aspnet-mvc-routes

В основном, в моем \ App_Start \ RouteConfig.cs файле мне пришлось добавить строку:

 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.IgnoreRoute(""); // This was the line I had to add here! routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } 

Надеюсь, что это помогает кому-то, мне потребовалось немало времени, чтобы найти ответ.

  • Как я могу использовать Web.debug.config на встроенном сервере отладки визуальной студии?
  • Программно зарегистрировать HttpModules во время выполнения
  • Как заблокировать пути в ASP.NET MVC?
  • В чем разница между customErrors и httpErrors?
  • Вложенное приложение ASP.NET в IIS, наследующее родительские настройки конфигурации?
  • Шифрование Web.Config
  • Использование другого Web.config в среде разработки и производства
  • Как вы изменяете настройки приложения web.config во время выполнения?
  • как добавить файлы в процесс преобразования web.config?
  • Как предотвратить перезапуск приложения ASP.NET при изменении web.config?
  • Как настроить кеш статического содержимого для каждой папки и расширения в IIS7?
  • Давайте будем гением компьютера.