在ASP.NET中使用onChange从HTMLSelect中加载指定值的数据
本文关键字:加载 HTMLSelect 数据 NET ASP onChange | 更新日期: 2023-09-27 18:11:51
当我从第一个<select>
标签中选择一个项目时,我想在第二个<select>
标签(在ASP.NET中)加载数据。
我有:
<table cellpadding="2" border="0">
<tr><td>Categories : <br /><select id="list_cat_for_list" runat="server" onchange="get_list" ></select><br />
<select id="list_got_links" runat="server"></select>
</td><td><asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="list_cat_for_list" ValidationGroup="del_cat" Display="Static" runat="server" ErrorMessage="select category"></asp:RequiredFieldValidator></td></tr>
<asp:Button runat="server" ID="Button1" OnClick="delete_category_function" Text="Delete category" ValidationGroup="del_cat" />
</table>
和后面的代码:
protected void get_list( object sender, EventArgs e ) {
BusinessLayerArcht layer = LoadDataFromBL();
foreach ( CategoriesCtrlDto cto in layer.Categories ) {
if ( cto.Name == list_cat_for_list.Value ) {
foreach ( LinksCtrlDto lk in cto.Links ) {
list_got_links.Items.Add( lk.Url );
}
}
}
}
当我更改选项时,IE返回get_list
未定义。
我不知道我必须传递什么参数给c#函数。我知道onClick有object sender, EventArgs e
…
您可以使用ASP下拉列表在服务器端执行此操作。
<asp:dropdown id = "id" runat="server" selectedIndexChanged="get_list"><asp:dropdownlist>
如果你需要在javascript中访问控件的客户端版本,你可以利用浏览器的"查看源"功能来获取ASP生成的控件ID,并使用该ID在任何javascript中引用。
如果你希望使用AJAX,在AJAX控件工具包中有一个扩展程序,它允许你异步地执行多个下拉的级联下拉特性,这样当用户与页面交互时,你就不会有完整的回发了。
您可以从这里免费下载该工具包
为什么不用asp.net下拉列表代替html选择呢?两者都将呈现为select元素,但使用下拉列表更改事件处理程序