2011-10-24 82 views
0

我們在ASP.NET MVC視圖中託管Silverlight應用程序。沒有aspx或html頁面,我們可以選擇作爲啓動 - 我們需要使用URL啓動應用程序。如何在Expression Blend中爲MVC項目設置啓動頁面?

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

是否有解決方案/解決方法,使我們能夠從Blend啓動ASP.NET MVC託管的Silverlight應用程序?

+1

如何將一個臨時的ASP.Net啓動頁面重定向到它所需的URL?然後Blend應該滿足它有一個啓動頁面,你的應用程序不關心誰叫它。 –

回答

0

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

例如,

// 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編輯器比混合好得多。