带有GoToLocation控件的缩放、平移按钮和XY坐标文本框的JavaScript问题

带有GoToLocation控件的缩放、平移按钮和XY坐标文本框的JavaScript问题,javascript,jquery,asp.net,arcgis,Javascript,Jquery,Asp.net,Arcgis,我在ASP.NET(.ascx)中创建了一个用户控件,它结合了ArcGIS地图和ArcGIS Web ADF中的几个基本控件(GoToLocation、ScaleBar和ESRI工具栏)。 GoToLocation控件工作不正常,因为它的javascript没有找到用于显示X和Y坐标的文本框,也没有找到“缩放到”和“平移到”按钮 然后我尝试用jquery+javascript解决这个问题: 2012年5月21日更新:我尝试在fixGTL之后添加GoToLocation1.Refresh或GoTo

我在ASP.NET(.ascx)中创建了一个用户控件,它结合了ArcGIS地图和ArcGIS Web ADF中的几个基本控件(GoToLocation、ScaleBar和ESRI工具栏)。 GoToLocation控件工作不正常,因为它的javascript没有找到用于显示X和Y坐标的文本框,也没有找到“缩放到”和“平移到”按钮

然后我尝试用jquery+javascript解决这个问题:

2012年5月21日更新:我尝试在fixGTL之后添加GoToLocation1.Refresh或GoToLocation1.RaisePostBackEvent(请参见下面的代码),但控件似乎没有刷新或重新加载

$(document).ready(function () {
            fixGTL();
        <% 
            //GoToLocation1.RaisePostBackEvent(""); 
            GoToLocation1.Refresh(); 
        %>
        });

        function fixGTL() {
            var txtX = $('#[id$="_GoToLocationX"]');
            var idX = txtX.attr("id");
            //alert(idX);
            var idX_2 = idX.split('_');
            if (idX_2.length = 6) {
                txtX.attr('id', idX_2[0] + '_' + idX_2[2] + '_' + idX_2[3] + '_' + idX_2[4] + '_' + idX_2[5]);
            }

            var txtY = $('#[id$="_GoToLocationY"]');
            var idY = txtY.attr("id");
            //alert(idY);
            var idY_2 = idY.split('_');
            if (idY_2.length = 6) {
                txtY.attr('id', idY_2[0] + '_' + idY_2[2] + '_' + idY_2[3] + '_' + idY_2[4] + '_' + idY_2[5]);
            }

            var btnZoomTo = $('#[id$="_ZoomTo"]');
            var idZoomTo = btnZoomTo.attr("id");
            var idZoomTo_2 = idZoomTo.split('_');
            if (idZoomTo_2.length = 6) {
                btnZoomTo.attr('id', idZoomTo_2[0] + '_' + idZoomTo_2[2] + '_' + idZoomTo_2[3] + '_' + idZoomTo_2[4] + '_' + idZoomTo_2[5]);
            }

            var btnPanTo = $('#[id$="_PanTo"]');
            var idPanTo = btnPanTo.attr("id");
            var idPanTo_2 = idPanTo.split('_');
            if (idPanTo_2.length = 6) {
                btnPanTo.attr('id', idPanTo_2[0] + '_' + idPanTo_2[2] + '_' + idPanTo_2[3] + '_' + idPanTo_2[4] + '_' + idPanTo_2[5]);
            }
        }
奇怪的是,当我在断点1上使用firebug进行调试时,它可以找到文本框和按钮(_displayX、_displayY、_zoomToButton和_panToButton不为null)。但是,如果我从断点2或3进行调试,或者直接加载它(不是在firebug中进行调试),脚本将无法找到文本框和按钮

HTML: 这是我从firebug获取的HTML

<div id="pnlGoTo" class="ui-dialog-content ui-widget-content">
<span id="ctl00_MapBasic1_GoToLocation1" style="overflow:hidden;display:inline-block;height:75px;width:380px;">
<table cellspacing="2" cellpadding="2" style="position:relative;margin:0px 0px 0px 0px;top:0px;left:0px;">
<tbody>
<tr>
<td width="381px" align="left">
<table cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td>
X:
<input id="ctl00_ctl00_MapBasic1_GoToLocation1_GoToLocationX" type="text" style="height:15px;font-size:small;width:157px;" name="ctl00$MapBasic1$ctl00_MapBasic1_GoToLocation1_GoToLocationX">
</td>
<td>
Y:
<input id="ctl00_ctl00_MapBasic1_GoToLocation1_GoToLocationY" type="text" style="height:15px;font-size:small;width:157px;" name="ctl00$MapBasic1$ctl00_MapBasic1_GoToLocation1_GoToLocationY">
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td align="right">
<input id="ctl00_ctl00_MapBasic1_GoToLocation1_ZoomTo" type="button" style="height:25px;width:70px;font-size:small;" value="Zoom To" name="ctl00$MapBasic1$ctl00_MapBasic1_GoToLocation1_ZoomTo">
<input id="ctl00_ctl00_MapBasic1_GoToLocation1_PanTo" type="button" style="height:25px;width:70px;font-size:small;" value="Pan To" name="ctl00$MapBasic1$ctl00_MapBasic1_GoToLocation1_PanTo">
</td>
</tr>
</tbody>
</table>
</span>
</div>
</div>

X:
Y:
目标:

目标是使_displayX、_displayY、_zoomToButton和_panToButton不为空

我只需要找到如何重新加载/刷新控件,因为它的名称已从我的javascript更改


谢谢,我终于找到了解决问题的办法。 我用这个 创建人:ESRI


一切正常。

可能您没有使用正确的渲染id?您能给我们看一下html部分吗?我已经检查了ID,它已经成功更改,但问题仍然存在。
<div id="pnlGoTo" class="ui-dialog-content ui-widget-content">
<span id="ctl00_MapBasic1_GoToLocation1" style="overflow:hidden;display:inline-block;height:75px;width:380px;">
<table cellspacing="2" cellpadding="2" style="position:relative;margin:0px 0px 0px 0px;top:0px;left:0px;">
<tbody>
<tr>
<td width="381px" align="left">
<table cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td>
X:
<input id="ctl00_ctl00_MapBasic1_GoToLocation1_GoToLocationX" type="text" style="height:15px;font-size:small;width:157px;" name="ctl00$MapBasic1$ctl00_MapBasic1_GoToLocation1_GoToLocationX">
</td>
<td>
Y:
<input id="ctl00_ctl00_MapBasic1_GoToLocation1_GoToLocationY" type="text" style="height:15px;font-size:small;width:157px;" name="ctl00$MapBasic1$ctl00_MapBasic1_GoToLocation1_GoToLocationY">
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td align="right">
<input id="ctl00_ctl00_MapBasic1_GoToLocation1_ZoomTo" type="button" style="height:25px;width:70px;font-size:small;" value="Zoom To" name="ctl00$MapBasic1$ctl00_MapBasic1_GoToLocation1_ZoomTo">
<input id="ctl00_ctl00_MapBasic1_GoToLocation1_PanTo" type="button" style="height:25px;width:70px;font-size:small;" value="Pan To" name="ctl00$MapBasic1$ctl00_MapBasic1_GoToLocation1_PanTo">
</td>
</tr>
</tbody>
</table>
</span>
</div>
</div>