【问题标题】:getting null values from lable in javascript function从javascript函数中的标签获取空值
【发布时间】:2014-09-15 18:17:45
【问题描述】:

我编写了以下代码,它得到了 lbllat 和 lbllon 的完美值:

<asp:UpdatePanel ID="updatepanel_vehicleinfo" runat="server" OnLoad="updatepanel_vehicleinfo_Load">
                <ContentTemplate>
                    <asp:Repeater ID="vehicle_info" runat="server">
                        <ItemTemplate>

            <asp:Label ID="lbllat" runat="server" Text='<%#Eval("lat") %>'></asp:Label><br />

            <asp:Label ID="lbllon" runat="server" Text='<%#Eval("lon") %>'></asp:Label><br />
    </ItemTemplate>
                    </asp:Repeater>
 <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
                    <script type="text/javascript">
                        function initialize() {
                            var lat = document.getElementById('<%=lbllat.ClientID %>').value;
                            var lon = document.getElementById('<%=lbllon.ClientID %>').value;
                            var myLatlng = new google.maps.LatLng(lat, lon)
                            var mapOptions = {
                                center: myLatlng,
                                zoom: 6,
                                mapTypeId: google.maps.MapTypeId.ROADMAP,
                                marker: true
                            };
                            var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
                            var marker = new google.maps.Marker({
                                position: myLatlng
                            });
                            marker.setMap(map);
                        }
                    </script>
                </ContentTemplate>


            </asp:UpdatePanel>

 <br />

        <div id="map_canvas" style="width: 500px; height: 500px">
        </div>

现在当我从下面的代码隐藏中调用 javascript 函数时:

 DataSet dsvehicle_info = new DataSet();
        dsvehicle_info = cls.ReturnDataSet("RetriveData_Alias1",
             new SqlParameter("@Field", "lat,lon"),
            new SqlParameter("@TblNm", "current_gps_data left join device_master on device_master.id=current_gps_data.id"),
         new SqlParameter("@WhereClause", "where current_gps_data .id=24"));


        vehicle_info.DataSource = dsvehicle_info;
        vehicle_info.DataBind();
        ScriptManager.RegisterStartupScript(this, this.GetType(), "Javascript", "javascript:initialize();", true);

它给出了 lat 和 lot 的完美答案,它也打印在中继器中,但是当我调用 javascript 时,lat and lon 值设置为 null

那么我怎样才能在 javascript 中获得正确的 lat 和 lon 值?

【问题讨论】:

    标签: c# javascript asp.net .net


    【解决方案1】:
        </ContentTemplate>
    
     Lat: <asp:Label ID="lat" runat="server"></asp:Label><br />
      Lon: <asp:Label ID="lon" runat="server"></asp:Label><br />
     </asp:UpdatePanel>
    

    把这个标签放在前后

    现在在您的 cs 文件中添加以下代码: 将下面的代码放在

    之后
      vehicle_info.DataSource = dsvehicle_info;
      vehicle_info.DataBind();
    

    添加贝洛代码:

       lat.Text = dsvehicle_info.Tables[0].Rows[0]["lat"].ToString();
       lon.Text = dsvehicle_info.Tables[0].Rows[0]["lon"].ToString();
    

    现在在 javascript 中更改以下两行代码:

      var lat = document.getElementById('<%=lat.ClientID %>').innerHTML;
      var lon = document.getElementById('<%=lon.ClientID %>').innerHTML;
    

    现在完成了..!!尽情享受吧!

    【讨论】:

      【解决方案2】:

      您的中继器中似乎有重复的 ID 值。您是否尝试过为每个标签分配一个类名,然后将其存储在 HTML 集合中?

      标签控件是这样的:

      <asp:Label CssClass="lbllat" runat="server" Text='<%#Eval("lat") %>'></asp:Label><br /><asp:Label CssClass="lbllon" runat="server" Text='<%#Eval("lon") %>'></asp:Label><br />
      

      然后在你的 JS 中:

      var lblats = document.getElementsByClassName('lbllat');
      var lbllons = document.getElementsByClassName('lbllat');
      

      然后,您应该可以使用 lblats 和 lbllons HTML 集合来迭代或通过它们的索引进行访问。

      【讨论】:

        猜你喜欢
        • 2013-04-28
        • 2017-01-08
        • 1970-01-01
        • 2011-03-14
        • 1970-01-01
        • 1970-01-01
        • 2016-03-13
        • 1970-01-01
        • 2011-09-10
        相关资源
        最近更新 更多