2009-12-04 21 views
0

由於使用了URI映射,我的Silverlight應用程序使用導航框架,它的URL具有非常漂亮的結局。但前端看上去仍然討厭的,如:如何在Silverlight導航應用程序中修改URL的前端?

http://server:port/SilverlightPage.aspx#/uri-mapped-portion 

我怎樣才能獲得「SilverlightPage.aspx#」部分看起來更好,最好刪除「的.aspx#」?

回答

2

你可以使用URL路由,其可作爲ASP.NET MVC的一部分,或者定期ASP.NET http://msdn.microsoft.com/en-us/library/cc668201.aspx

編輯:要回答你在評論中的問題:

我還沒有與我自己,但如果你看看「使用路由與WebForms」部分,它應該詳細解釋它。從我收集你可以使用

routes.Add("SomeRoute", new Route("SilverlightPage",new CustomRouteHandler("~/SilverlightPage.aspx"))); 
+0

謝謝,但在這種情況下,路由字符串會是什麼樣子? – Dov 2009-12-08 17:33:49

1

你可以使用默認頁,而不是SilverlightPage因此,這將是剛:

http://server:port/#/uri-mapped-portion

另一種方式來獲得更漂亮的網頁是使用類似ASP.NET MVC它有漂亮的網址,也。然後,你可以有這樣的:

http://server:port/Silverlight/App1/#/uri-mapped-portion

+0

不過,即使其中的任意一種方法,有沒有辦法擺脫「#」的? – Dov 2009-12-08 16:57:19

+1

#很重要,因爲這意味着您可以在不重新加載頁面的情況下更改URL。像Silverlight這樣的組件是用來改變url而不實際重新加載頁面的技巧。 #僅在客戶端進行評估,這就是爲什麼這是有效的。 – Bryant 2009-12-08 19:59:34

+0

嗯,我試過你的第一個建議,因爲它是最簡單的,但現在我仍然可以看到URL中的Default.aspx#。我現在明白爲什麼#有,但「Default.aspx」呢?這是否嚴格是從ASP.NET開發服務器運行它的結果,並且當我將它放到誠實善良的IIS服務器中時,它不會顯示出來? – Dov 2009-12-08 22:07:44

相關問題