簡體   English   中英

將值從代碼隱藏傳遞給 js

[英]Passing value from codebehind to js

我有這個 javascript 代碼可以在地圖上顯示對象:

 <script type="text/javascript">
            google.maps.event.addDomListener(window, 'load', init);

            function init() {
                var locations = [
                    [40.6128, -73.9976, "images/pin-apartment.png", "estate-details-right-sidebar.html", "images/infobox-offer1.jpg", "Fort Collins, Colorado 80523, USA", "$320 000"],[41.6926, -87.6021, "images/pin-house.png", "estate-details-right-sidebar.html", "images/infobox-offer5.jpg", "E. Elwood St. Phoenix, AZ 85034, USA", "$300 000"]
                ];

                offersMapInit("offers-map", locations);
            }

        </script>

但我希望它從數據庫/c# 中填充。 我怎樣才能做到這一點?

我如何將這種數組從我的 page_load 傳遞給這個 js 腳本?

 protected void Page_Load(object sender, EventArgs e){}

您可以使用JsonConvert.SerializeObject序列化 C# 數組。 例如

protected string StringArray { get; set;}
Page_Load(object sender, EventArgs e) {
   StringArray = JsonConvert.SerializeObject(new string[] {"foo", "bar"});
}

在 JavaScript 中:

<script type="text/javascript">
    google.maps.event.addDomListener(window, 'load', init);

    function init() {
        var locations = <%= StringArray %>;

        offersMapInit("offers-map", locations);
    }

</script>

您還可以從 C# 聲明變量:

var stringArray = JsonConvert.SerializeObject(new string[] {"foo", "bar"});
ClientScript.RegisterStartupScript(GetType(), "locations", $"var locations = {stringArray};", true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM