您将服务器端状态与客户端状态混合在一起。在客户端所做的更改不会更改视图状态/控制状态。因此,如果您为下拉列表选择默认选择值以外的任何值ddlVehicle
,它将调用ddlVehicle_SelectedIndexChanged
在服务器端注册的。我也验证了相同的结果。
您可以通过添加 Web 方法/ajax 并在客户端更改上执行相同的操作来实现此目的。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
jQuery(function ($) {
$("select[id*='ddlWayType']").bind("change", function () {
$("select[id*='ddlVehicle']").val("Select");
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddlWayType" runat="server">
<asp:ListItem Text="Select" Value="Select"></asp:ListItem>
<asp:ListItem Text="Select1" Value="Select1"></asp:ListItem>
<asp:ListItem Text="Select2" Value="Select2"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlVehicle" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlVehicle_SelectedIndexChanged">
<asp:ListItem Text="Select" Value="Select"></asp:ListItem>
<asp:ListItem Text="Select1" Value="Select1"></asp:ListItem>
<asp:ListItem Text="Select2" Value="Select2"></asp:ListItem>
</asp:DropDownList>
</div>
</form>
</body>
</html>