我的项目中有两个从EntityDataSource绑定的下拉列表。第二个Dropdownlist必须基于第一个DropDownlist绑定。我怎么能这样做?
答案 0 :(得分:1)
如果您使用的是ASP.net AJAX,AJAX控件工具包有一个名为“Cascading DropDown”的控件,您可以使用它。
答案 1 :(得分: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>
或者您可以在服务器端执行相同类型的逻辑,但这会将回发带到场景中。
答案 2 :(得分:0)
假设Entity1具有ID,Name作为属性,Entity2具有ID,Entity1ID,OrderNumber作为属性。
绑定
`Dropdownlist1.Datasource = list(of Entity1)
Dropdownlist1.DataValueField = "ID"
Dropdownlist1.DataTextField = "Name"
Dropdownlist1.databind()`
on dropvallist1的selectedvalue change事件检查用户是否选择了有效值,然后从Entity2数据源执行linq搜索并将其绑定到Dropdownlist2。
你也可以选择Avani所提到的级联下拉列表。