我的项目中有两个从 EntityDataSource 绑定的下拉列表。第二个 Dropdownlist 必须基于第一个 DropDownlist 绑定。我怎样才能做到这一点?
问问题
471 次
3 回答
1
如果你使用的是 ASP.net AJAX,AJAX 控件工具包中有一个控件叫做“Cascading DropDown”,你可以使用它。
于 2012-06-02T07:25:20.730 回答
0
假设 Entity1 的 ID、Name 为属性,Entity2 的 ID、Entity1ID、OrderNumber 为属性。
绑定
`Dropdownlist1.Datasource = list(of Entity1)
Dropdownlist1.DataValueField = "ID"
Dropdownlist1.DataTextField = "Name"
Dropdownlist1.databind()`
在 dropdownlist1 的 selectedvalue 更改事件上,检查用户是否选择了有效值,然后从 Entity2 数据源进行 linq 搜索并将其绑定到 Dropdownlist2。
您也可以使用 Avani 提到的级联下拉列表。
于 2013-11-28T11:41:38.297 回答
0
如果您不需要回发,您可以这样做:
<select id="s1" >
<option>-----</option>
<option>item 1</option>
<option>item 2</option>
<option>item 3</option>
</select>
<br />
<select id="s2" >
</select>
<script type="text/javascript">
var s1 = document.getElementById("s1");
var s2 = document.getElementById("s2");
s1.onchange = function () {
s2.options.length = 0;
var value = this.value;
if (value != "-----") {
var opt = document.createElement("OPTION");
opt.text = "sub " + value;
opt.value = "sub " + value;
s2.options.add(opt);
}
}
</script>
或者您可以在服务器端执行相同的逻辑,但这会将回发带到现场。
于 2012-06-02T08:18:19.067 回答