2017-09-26 204 views
0

我必須更新使用Web控件(https://github.com/simplovation/webmapsve)製作的userControl,該控件是Bing mapcontrol V6.3的包裝。由於後者最近已被MS終止,因此我們必須更新。使用WebMapsVe不再是一種選擇,該回購的最後一次提交是在2016年6月。無法在代碼隱藏的userControl中更新JavaScript中的Bing地圖

顯然重構整個應用程序直接使用Bing地圖控件將是更可取的,但也不是一個選項,該應用程序如此廣泛,現在工作太多了。所以我試圖在我們的userControl中使用Bing mapcontrol v8。

當控件的生命週期中userControl屬性的值發生變化時,我必須根據userControl的屬性更新地圖位置。由於Bing mapControl v8是由javascript控制的,我必須調用一個javascript函數或在屬性更改時更新javascript中的值。我真的找不到一個體面的方式來做到這一點。 我已經搜索了一個答案,直到臉上藍色,但我不能拿出一個體面的答案。

我都試過

ScriptManager.RegisterStartupScript() or ClientScript.RegisterClientScriptBlock() 

設置的腳本,但似乎當控件初始化爲一次工作。我無法找到觸發腳本在啓動時更新地圖位置的方法。我還研究過在js中設置超時輪詢某個值,但是我找不到一種方法來從屬性所在的代碼隱藏中更新該值。 什麼是在userControl中做到這一點的好方法?

回答

0

看看Bing地圖V6.3在這裏V8墊片:https://github.com/rbrundritt/BingMapsV63ToV8Shim

這可能是比試圖移植代碼更容易。

+0

我已經用aspx頁面中的表單替換了對搜索功能的Ajax調用(這允許用戶搜索地圖上的項目)。 Ajax調用的回調然後直接在javascript中設置地圖位置。這運作良好,並且相當容易實施。據(內部)用戶,這比原來的版本更好:) –