在vb.net中调用jSese onInlectedIndexchanged

时间:2015-11-25 06:42:11

标签: javascript asp.net vb.net

我想调用下拉菜单中的javascript函数selectedindexchanged。我试过这个

<asp:DropDownList ID="selectVehicle" AutoPostBack="true" OnSelectedIndexChanged="GetRoute(this.options[this.selectedIndex].value);" runat="server" CssClass="inners">
<asp:listitem Selected>-- Select Vehicle --</asp:listitem>
<asp:listitem Value="16">Tata Ace</asp:listitem>
<asp:listitem Value="28">Tata 407</asp:listitem>
</asp:DropDownList>

错误

  

BC30456:'GetRoute'不是'ASP.index3_aspx'的成员。

然后我尝试了onChange而不是OnSelectedIndexChanged,但它对我没有用,因为在我的js函数值插入文本框中工作但是当页面重新加载文本框时再次变为空白&amp;我无法关闭AutoPostBack,因为它需要回发。有可能我可以运行javascript OnSelectedIndexChanged吗?

2 个答案:

答案 0 :(得分:0)

您可以使用标准的javascript onchange:

<asp:DropDownList ID="selectVehicle" AutoPostBack="false" onchange="GetRoute(this.options[this.selectedIndex].value);" runat="server" CssClass="inners">
</asp:DropDownList>

假设GetRoute是一个javascript函数。

ASP.NET将忽略onchange属性并在生成的select元素中呈现它。

答案 1 :(得分:0)

Rahul Singh评论将JS代码写入服务器代码,只运行服务器代码,没有Javascript,这是有道理的。

如果由于某种原因你必须拥有JS,你可以删除autopostback = true,并手动调用带有参数的__doPostBack,例如JS正在生成的值。

JavaScript: Multiple parameters in __doPostBack