我们在ASP.NET MVC视图中托管了一个Silverlight应用程序。没有我们可以选择作为启动的aspx或html页面 - 我们需要使用URL启动应用程序。
Expression Blend似乎不允许此启动配置 - 您必须选择特定页面。因此,您无法从Expression Blend启动/调试应用程序 - 它抱怨未设置启动页面。
是否有解决方案/解决方法可以让我们从Blend启动ASP.NET MVC托管的Silverlight应用程序?
答案 0 :(得分: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编辑器比混合编辑好得多。