我在Page-load中设置了textbox的值,并将其赋给了java脚本中的一个变量。但是这一行不能执行。
y = document.getElementByID("<%= TextBox1.ClientID %>").value;
当我在aspx页面中设置textbox的值时,它也不起作用。
protected void Page_Load(object sender, EventArgs e) {
TextBox1.Text = "14";
}
和
<asp:TextBox ID="TextBox1" runat="server" Text="14"></asp:TextBox>
它们都不起作用-这是脚本
<script type="text/javascript">
var map;
var y;
y = document.getElementByID("<%= TextBox1.ClientID %>").value;
y = parseInt(y);
require(["esri/map", "dojo/domReady!"], function (Map) {
esriConfig.defaults.map.panDuration = 1;
var map = new Map("map", {
center: [-118, y],
zoom: 15,
basemap: "satellite"
});
});
</script>
我做错了什么?当我将y赋值给一个数字时,一切都正常,这是从asp控件获取值的好做法吗?
发布于 2015-02-17 02:35:02
"<%= TextBox1.ClientID %>"
这并不是像你想的那样进行计算,它只是将其作为文字字符串发送到客户端。相反,你应该这样做:
y = document.getElementByID("'" + <%= TextBox1.ClientID %> "'").value;
即便如此,这也是相当难看的代码。由于textbox似乎不是动态生成的控件,因此您应该将其ClientIDMode
属性设置为Static
或Predictable
。然后在你的javascript中硬编码ID。
https://stackoverflow.com/questions/28547788
复制相似问题