2014-10-06 2 views
0

В настоящее время у меня есть функция называется следующим образом:передавая переменную функции яваскрипта проваливается в осины: DropDownList

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

Это работает без проблем, теперь я хочу сделать то же самое на OnChange событие в жерех: DropDownList следующим образом:

<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-файле. –

ответ

1

Вы не можете сделать это прямо на элементе сервера тега.

Вы должны сделать это где-то в коде позади:

ddlAddressSPC.Attributes.Add("onchange", "javascript:getCities('" + BusinessID + "');"); 
+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

попробовать, как этот

Удалить это из разметки

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

и добавить в page_load

protected void Page_Load(object sender, EventArgs e) 
    { 

     ddlAddressSPC.Attributes.Add("onchange", "getCities('" + BusinessID + "')"); 
    } 
Смежные вопросы