2012-11-27 37 views
3

有誰知道如何將URL參數傳遞給Web瀏覽器控件中的本地頁面?如何將參數傳遞給WP7/WP8中的本地html頁面?

當您單獨導航到頁面時"/Html/MyPage.html"一切都很好,但只要您添加參數"/Html/MyPage.html?Message=Hello"我收到一個錯誤頁面,指出我們無法導航到該頁面。
任何想法?

+0

http://stackoverflow.com/questions/4143383/wp7-pass-parameter-to-new-page 這將有所幫助。 – Tony

+0

@Tony感謝您的快速回復。實際上,我指的是具有本地HTML頁面的Web瀏覽器控件,而不是XAML頁面。 – loyalpenguin

回答

1

作爲另一種解決方法,你可以通過你的參數作爲位置參數的哈希(如果不使用它)

browser.Navigate(new Uri("www/index.html#p=123&p2=567", UriKind.Relative)); 

,然後在index.html的

var args = window.location.hash; 

(參數=「#P = 123 & p2 = 567')

在WP7上測試(index.html存儲在獨立存儲中)+ WP8(index.html直接從XAP加載)

+0

這實際上是我最終使用的。完美的作品。 – loyalpenguin

2

作爲一個骯髒的解決方法,只是工作,你可以實現這個如下:

A.導航頁面W/O任何參數

B.通過連接下面的邏輯參數設置爲以下事件之一

WebBrowser.Navigated Event - 當成功導航

WebBrowser.LoadCompleted Event - web瀏覽器控件已加載的內容之後發生。

C.進樣參數html頁面使用webBrowser.InvokeScript (C#)

webBrowser.InvokeScript("eval", new string[] {"processArgs('someArgs') or any generated/custom script"}); 

webBrowser.InvokeScript("processArgs", new string[] {"someArgs"}); 

其中processArgs是在HTML文件中某處定義。

+0

很好,男人! –