如何在回发之前触发SelectedIndexChange?

时间:2017-02-20 09:14:36

标签: c# asp.net webforms

我的页面有两个控件,第二个控件的内容取决于第一个控件的下拉列表。我有一个问题,因为事件SelectedIndexChange是在我的回发后触发的。

我尝试使用更新面板和触发器,但它不起作用。

<asp:ScriptManager ID="ScriptManager1" runat="server" />

<asp:UpdatePanel ID="updatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:DropDownList ID="ddlTest" runat="server" AutoPostBack="true" CssClass="form-control"
            OnSelectedIndexChanged="ddlTest_SelectedIndexChanged" />
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlTest" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>

是否有任何想法在回发之前强制事件“SelectedIndexChange”?

1 个答案:

答案 0 :(得分:0)

这会奏效。请告诉我你想用下拉列表更改事件处理程序实现什么,并且可以帮助你在客户端回发之前完成它:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm11.aspx.cs" Inherits="WebApplication4.WebForm11" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#ddlTest").change(function () {
                alert($("#ddlTest option:selected").text());
                alert($("#ddlTest option:selected").val());
            })
        })
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList runat="server" ID="ddlTest" >
            <asp:ListItem Text="aText" Value="aValue" />
             <asp:ListItem Text="bText" Value="bValue" />
            </asp:DropDownList>
    </div>
    </form>
</body>
</html>