2014-10-06 78 views
0

目前,我有一个叫做以下列方式功能:传递变量javascript函数在ASP失败:下拉列表

<script type="text/javascript"> 
getCities('<%=BusinessID %>'); 
</script> 

这工作没有任何问题,现在我想要做同样的在一个onchange事件ASP:下拉列表如下:

<asp:DropDownList ID="ddlAddressSPC" runat="server" clientidmode="Static" AutoPostBack="False" onchange="javascript:getCities('<%=BusinessID %>');" Width="306px" CssClass="txt12NormalLeft" ToolTip="Select State|Province|County" /> 

但现在的ASP.net变量不评估并作为<%= BusinessID%被传递>代替的值。

如果我在普通HTML中选择相同的代码,那么这不是问题。我在这里错过了什么?

+0

这放文本<%= BusinessID%>里面的变量,我想在那里有BusinessID的值,我的函数在外部的js文件中。 – 2014-10-06 12:04:36

回答

1

你不能在服务器元素标签直接做到这一点。

你应该做在后面的代码的某个地方:

ddlAddressSPC.Attributes.Add("onchange", "javascript:getCities('" + BusinessID + "');"); 
+0

我现在明白了,这解决了它。 – 2014-10-06 12:28:41

1

这应该工作。

<script type="text/javascript"> 

var currentBusinessIdString = '<%=BusinessID %>'; 

var currentBusinessId = parseInt(currentBusinessIdString); 

getCities(currentBusinessId); 

</script> 

如果您没有帮助,您可以尝试在这里列出了一些问题:How do I give JavaScript variables data from ASP.NET variables?

1

尝试这样

从标记删除此

onchange="javascript:getCities('<%=BusinessID %>');" 

,并添加page_load

protected void Page_Load(object sender, EventArgs e) 
    { 

     ddlAddressSPC.Attributes.Add("onchange", "getCities('" + BusinessID + "')"); 
    }