2017-09-08 596 views
2

我想將我的起始頁面設置爲/ Members/Index。如何更改起始頁,在.NET Core 2中使用Razor Pages?

當我使用MVC,我將其配置如下:

app.UseMvc(routes => 
      { 
       routes.MapRoute(
        name: "default", 
        template: "{controller=Members}/{action=Index}/{id?}"); 
      }); 

但現在我想新的剃鬚刀頁面的方式,現在大家是文件夾,指數剃鬚刀是頁。 如何將文件夾中的這個頁面設置爲開始?

我可以在根目錄中添加索引頁並在那裏重定向,但是我正在尋找更乾淨的東西。

+1

這是一般的想法。剃刀頁面不應該影響你的路由。您在加載應用程序時看到什麼錯誤/問題? –

+0

@RossBush我的所有頁面都在子目錄中構建,並且在根目錄中沒有索引頁面。在根文件夾中創建額外的索引頁面並重定向到我在子文件夾中的起始頁面將會起作用,但在客戶端和附加頁面上不需要重定向。 – Makow

+0

您的Members.Index(){}中的空Index.cshtml和重定向動作應該具有相同的效果。如果設置正確,索引頁可能不需要。 –

回答

1

右鍵單擊解決方案資源管理器中的項目,然後選擇屬性。在屬性窗口中,選擇Web,勾選Start Action到特定頁面下的單選按鈕,並放入您希望看到應用程序啓動的路線(即Members/Index)。看截圖。你也應該能夠在IIS中配置默認​​文檔,一旦你已經準備好部署應用enter image description here

編輯: 在應對沒有獲得在IIS中配置,你可以或者做類似下面在你的網頁的.config

<system.webServer> 
 
    <defaultDocument> 
 
      <files> 
 
       <clear />    
 
       <add value="Members/Index"/> 
 
      </files> 
 
     </defaultDocument> 
 
    </system.webServer>

+1

謝謝。我沒有看到Web選項卡,但是通過在「調試」選項卡中設置「啓動瀏覽器」字段,我獲得了類似的效果。也許我使用了不同的VS版本 - 它是15.3。我不認爲我可以選擇在我的託管服務提供商的IIS上進行配置。 – Makow

0

AppStart->RouteConfig.cs試試下面的代碼:

routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}", 
      defaults: new { controller = "Members", action = "Index"} 
     ); 
2

出於測試目的,您可以通過轉到Web項目的「屬性」窗口並選擇「調試」選項卡來更改開始頁面。在'啓動瀏覽器'一行輸入開始路徑

enter image description here

相關問題