Установка страницы по умолчанию в Asp.net
Есть ли какой-либо раздел или код, который позволяет нам установить страницу по умолчанию в web.config
?
Например, когда люди впервые посещают мой сайт, я хочу, чтобы они видели CreateThing.aspx
а не Default.aspx
.
Решения, которые я знаю:
- IIS7, web.config, чтобы разрешить только статический обработчик файлов в каталоге / загрузках веб-сайта
- Поставщик «Microsoft.ACE.OLEDB.12.0» не зарегистрирован на локальном компьютере.
- Веб-сайты Windows Azure переопределяют мои страницы ошибок 404 и 500 в моем приложении node.js
- Цитата Escape в строке подключения web.config
- Ошибка аутентификации при отладке VS2013 - iis express
-
Поместите эту строку кода =>
Response.Redirect("CreateThings.aspx")
в событиеDefault.aspx
Page_Load
но этот метод действительно наивен. -
Мы можем использовать
IIS
(конфигурация страницы по умолчанию), но я хочу сделать то же самое в приложении Asp.NET.
Если вы знаете лучшее решение, сообщите мне.
Заранее спасибо.
PS: Причина, по которой я спрашиваю о Web.Config
, я считаю, что Web.Config
поможет нам в этом.
Изменить : мне просто интересно, как команда Microsoft .NET забыла простую вещь 🙂
Редактировать :
Это может быть еще одно решение:
- Настройка нескольких параметров SMTP в web.config?
- web.config перенаправляет не-www на www
- Переменные в app.config / web.config
- Ограничить доступ к определенному controllerу по IP-адресу в бета-версии ASP.NET MVC
- Значение
- URL-маршрутизация, обработчик изображений и «потенциально опасное значение Request.Path»
- Как добавить амперсанд для значения в файле конфигурации приложения ASP.net/C#
- Настройка строки подключения в ASP.NET для SQL SERVER
При использовании 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 } ); }
Надеюсь, что это помогает кому-то, мне потребовалось немало времени, чтобы найти ответ.