一千萬個為什麽

搜索

如何在Expression Blend中為MVC項目設置啟動頁面?

我們在ASP.NET MVC視圖中托管了一個Silverlight應用程序。沒有我們可以選擇作為啟動的aspx或html頁面 - 我們需要使用URL啟動應用程序。

似乎Expression Blend不允許此啟動配置 - 您必須選擇特定頁面。因此,您無法從Expression Blend啟動/調試應用程序 - 它抱怨未設置啟動頁面。

是否有解決方案/解決方法可以讓我們從Blend啟動ASP.NET MVC托管的Silverlight應用程序?

最佳答案

我一直在做的是創建一個URL路由(在你的ASP MVC Global.asax.cs中),它捕獲你的Silverlight應用程序試圖觸及的任何頁面。它應該點擊控制器並返回顯示silverlight應用程序的視圖(假設路由設置正確),而不是返回.aspx頁面或404。

例如,

// route to catch Silverlight test page
routes.MapRoute(
      "SilverlightTestUrl",
      "Project.SilverlightTestPage.aspx",//whatever page it's trying to start
      new { controller = "Home", action = "Silverlight" }
);

// make sure the silverlight route is before the default 'catch all' route
routes.MapRoute(
      "Default",//Route name
      "{controller}/{action}/{id}",//URL with parameters
      new { controller = "Home", action = "Silverlight", id = UrlParameter.Optional }//Parameter defaults
);

編輯:雖然抱歉,我想這無法幫助從Expression Blend運行項目的問題。我不是混合的忠實粉絲,我不知道為什麽他們沒有將Blend中的一些功能整合到Visual Studio中。 Visual Studio的XAML編輯器比混合編輯好得多。

轉載註明原文: 如何在Expression Blend中為MVC項目設置啟動頁面?