2013-12-04 7 views
30

как установить стартовую страницу с помощью WebConfig файла .I попытались этот кодкак установить стартовую страницу в WebConfig файла в asp.net C#

<system.webServer> 
     <defaultDocument enabled="true"> 
      <files> 
       <clear /> 
       <add value="index.aspx"/> 
      </files> 
     </defaultDocument> 
    </system.webServer> 

Но didnot работа для меня. Я установил стартовую страницу, щелкнув правой кнопкой мыши на странице в браузере решений, затем выберите опцию, заданную как стартовую, но как я могу сделать это программно

+1

куда вы поместили это? вы можете отправить полную конфигурацию –

+0

Кажется, что будет работать, когда вы запускаете веб-интерфейс в IIS. И если вы запустите из VS, он будет перенаправлен после файла, который вы установили в качестве начальной страницы. – Alice

ответ

-3

Вы также можете получить ее по коду. В файле Global.asax в ответ на запись события Session_Start .redirect к вашей стартовой странице, как показано ниже.

void Session_Start(object sender, EventArgs e) 
     { 
      // Code that runs when a new session is started 

      Response.Redirect("~/Index.aspx"); 

     } 

Вы можете получить перенаправлять имя страницы из базы данных или любого другого хранилища, чтобы изменить стартовую страницу приложения в то время как приложение не работает никакой необходимости редактировать web.config или изменить какие-либо настройки IIS

+0

Session_Start вызывается каждый раз, и вы вынуждаете пользователя перенаправляться при любой обратной передаче –

54

следующий код работал отлично для меня. пожалуйста, проверьте другие настройки в вашем веб-конфигурации

<system.webServer> 
    <defaultDocument> 
      <files> 
       <clear />    
       <add value="Login.aspx"/> 
      </files> 
     </defaultDocument> 
    </system.webServer> 
+0

Что означает ? – Aravin

+1

@Aravin это означает, что он очищает всю информацию, которая может быть определена в теге файлов в другом .config, который влияет на ваш сайт. – jboo

+0

oh спасибо :) :) – Aravin

1
I think this will help 

<directoryBrowse enabled="false" /> 
    <defaultDocument> 
     <files> 
     <clear /> 
     <add value="index.aspx" /> 
     <add value="Default.htm" /> 
     <add value="Default.asp" /> 
     <add value="index.htm" /> 
     <add value="index.html" /> 
     <add value="iisstart.htm" /> 
     <add value="default.aspx" /> 
     <add value="index.php" /> 
     </files> 
    </defaultDocument> 
    </system.webServer> 
0

Если ваш проект содержит файл RouteConfig.cs, то вам, вероятно, нужно игнорировать маршрут к корню путем добавления routes.IgnoreRoute(""); в этот файл.

Если doen't решить вашу проблему, попробуйте следующее:

void Application_BeginRequest(object sender, EventArgs e) 
{ 
    if (Request.AppRelativeCurrentExecutionFilePath == "~/") 
     Response.Redirect("~/index.aspx"); 
} 
Смежные вопросы