js getelementbyid returns 空

js getelementbyid returns null

getElementById 返回 null 但列表已填充。猜猜哪里出了问题?

HomePage.aspx 和 Map.js

var Center = { lat: 20.452425, lng: -68.545446 };

function initMap() {
    
   
    map = new google.maps.Map(document.getElementById('map'), {
        zoom: 3,
        center: Center
    });   
    populateMap()
    function populateMap()
    {
        var DiveSiteList2 = document.getElementById("DiveSiteList")
         for (var i = 0; i < DiveSiteList2.options.length; ++i)
        {...}
        

    }
    }
<div id="ListHolder">
  <asp:ListBox class="ListBox" ID="DiveSiteList" runat="server"></asp:ListBox>
</div>

HomePage.aspx.cs

    private DiveManager.DiveManager Manager;
    protected void Page_Load(object sender, EventArgs e)
    {
        Manager = new DiveManager.DiveManager();
        BindDiveList();
    }

    private void BindDiveList()
    {
       foreach (DiveSite DS in Manager.MasterDiveSiteList)
        {
            ListItem Item = new ListItem();
            Item.Text = DS.DiveSiteName;
            Item.Attributes.Add("Name", DS.DiveSiteName);
            Item.Attributes.Add("Latitude", DS.Latitude.ToString());
            Item.Attributes.Add("Longitude", DS.Longitude.ToString());
            Item.Attributes.Add("ID", DS.DiveSiteID.ToString());
            DiveSiteList.Items.Add(Item);
        }
    }

页面错误:未捕获类型错误:无法读取 属性 'options' of null 在 populateMap (Map.js:19)

请查收 只需在此处更改:

var DiveSiteList2 = document.getElementById('<%= DiveSiteList.ClientID %>')

var Center = { lat: 20.452425, lng: -68.545446 };

function initMap() {
    
   
    map = new google.maps.Map(document.getElementById('map'), {
        zoom: 3,
        center: Center
    });   
    populateMap()
    function populateMap()
    {
        var DiveSiteList2 = document.getElementById('<%= DiveSiteList.ClientID %>')
         for (var i = 0; i < DiveSiteList2.options.length; ++i)
        {...}
        

    }
    }
<div id="ListHolder">
  <asp:ListBox class="ListBox" ID="DiveSiteList" runat="server"></asp:ListBox>
</div>