我可以为RadioButtonList项中的项添加属性,如下所示:
PaymentMethodDropDownList.Items[0].Attributes.Add("onclick", "javascript:showNoMethods();");
PaymentMethodDropDownList.Items[1].Attributes.Add("onclick", "javascript:showCreditCardMethod();");
PaymentMethodDropDownList.Items[2].Attributes.Add("onclick", "javascript:showSendPaymentMethod();");
但是,当我尝试将属性添加到DropDownList控件时,它似乎不起作用。我希望它是相似的。
答案 0 :(得分:15)
这不能以与radioButtonList相同的方式完成,对于下拉列表,正确的属性事件名称是“onchange”而不是“onclick”。 该事件应附加到DropDownList本身,而不是如下项目:
PaymentMethodDropDownList.Attributes.Add("onchange",
"showCreditCardMethod();");
此外,这有点复杂,并且需要自定义javascript函数来执行不同的操作,具体取决于所选的选项。这是一个例子:
PaymentMethodDropDownList.Attributes.Add("onchange",
"handleDropDownEvents(this);");
自定义Javascript函数:这假定下拉项的值为“CreditCard”和“SendPayment”。
<script type="text/javascript">
function handleDropDownEvents(e){
if(e.value == "CreditCard"){
showCreditCardMethod();
}
else if(e.value == "SendPayment"){
showSendPaymentMethod();
}
}
</script>
答案 1 :(得分:1)
Actualy对于ASP .Net中的DropDownList,您正在寻找的属性是 OnSelectedIndexChanged 或 OnTextChanged 。两者的工作完全相同。
希望这个帮助;)