asp.net checkboxlist 绑定数据实现两个联动
时间: 2024-03-12 08:45:25 浏览: 211
要实现 ASP.NET CheckboxList 的两个联动,需要使用 JavaScript 和 Ajax 技术。
1. 在页面中添加两个 CheckboxList 控件,并给它们分别添加一个 onchange 事件。
```html
<asp:CheckBoxList ID="checkboxlist1" runat="server" onchange="handleChange(this)">
</asp:CheckBoxList>
<asp:CheckBoxList ID="checkboxlist2" runat="server" onchange="handleChange(this)">
</asp:CheckBoxList>
```
2. 在 JavaScript 中编写 handleChange() 方法,获取选中的值,并通过 Ajax 发送请求获取下一个 CheckboxList 的数据。
```javascript
function handleChange(checkbox) {
// 获取选中的值
var selectedValue = checkbox.value;
// 发送 Ajax 请求
$.ajax({
type: "GET",
url: "GetData.aspx?value=" + selectedValue,
success: function (data) {
// 绑定数据到下一个 CheckboxList
$('#checkboxlist2').empty();
$.each(data, function (key, value) {
$('#checkboxlist2').append('<option value="' + value.Value + '">' + value.Text + '</option>');
});
}
});
}
```
其中,GetData.aspx 是获取下一个 CheckboxList 数据的页面,value 是当前选中的值。
3. 在 GetData.aspx.cs 中编写代码,获取数据并返回 JSON 格式的数据。
```csharp
protected void Page_Load(object sender, EventArgs e)
{
string value = Request.QueryString["value"];
DataTable dt = GetDataFromDatabase(value);
List<object> list = new List<object>();
foreach (DataRow row in dt.Rows)
{
list.Add(new
{
Value = row["Value"],
Text = row["Text"]
});
}
Response.Write(new JavaScriptSerializer().Serialize(list));
}
```
其中,GetDataFromDatabase() 是获取数据的自定义方法,返回一个 DataTable 对象。
通过以上步骤,即可实现 ASP.NET CheckboxList 的两个联动。
阅读全文