将变量传递给javascript函数在asp:dropdownlist中失败

时间:2014-10-06 11:56:45

标签: javascript asp.net drop-down-menu onchange

目前我有一个以下列方式调用的函数:

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

这没有任何问题,现在我想在asp:dropdownlist中的onchange事件上做同样的事情,如下所示:

<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变量没有被评估,并且作为&lt;%= BusinessID%&gt;传递。而不是价值。

如果我在普通HTML中执行相同的代码选择它不是一个问题。我在这里缺少什么?

3 个答案:

答案 0 :(得分: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 :(得分:1)

您无法直接在服务器元素标记处执行此操作。

你应该在后面的代码中的某个地方做到这一点:

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

答案 2 :(得分:1)

试试这个

从标记中删除

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

并添加page_load

 protected void Page_Load(object sender, EventArgs e)
  {

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