目前我有一个以下列方式调用的函数:
<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中执行相同的代码选择它不是一个问题。我在这里缺少什么?
答案 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 + "')");
}