ASP Dropdownlist SelectedIndexChanged无法触发

时间:2019-06-06 17:25:38

标签: javascript c# jquery asp.net webforms

我的DropDownList有一个非常奇怪的问题。 我将尝试总结我的问题:

我在医院的页面站上存储了DDL,控件通过Databinding从数据库填充,这很好用。 当我单击其中一个工作站时,OnSelectedIndexChanged事件应将我重定向到所选工作站的患者列表。

C#代码:

protected void Page_Load(object sender, EventArgs e)
        {

            if (Session["stations"] != null)
            {
                var patienList = (List<string>)Session["stations"];
                if (patienList.Count > 0)
                    if (!IsPostBack && PatientOverview.StationHeading == null) //Es wird zum ersten Mal aufgerufen
                    {
                        StationDDList.DataSource = patienList;
                        SelectedStation = patienList.First();

                        logo.ImageUrl = ConfigurationManager.AppSettings["Logo"];

                        StationDDList.DataBind();
                    }
                    else if (!IsPostBack && PatientOverview.StationHeading != null)
                    {

                        StationDDList.DataSource = patienList;
                        SelectedStation = PatientOverview.StationHeading;
                        StationDDList.SelectedValue = SelectedStation;
                        logo.ImageUrl = ConfigurationManager.AppSettings["Logo"];

                        StationDDList.DataBind();
                    }

 protected void StationDDList_SelectedIndexChanged(object sender, EventArgs e)
        {
            SelectedStation = StationDDList.SelectedValue;
            Response.Redirect("/epadoc_Framework/PatientOverview.aspx?station=" + SelectedStation);
            PatientOverview.loadPatientList(StationDDList.SelectedValue);

            StationDDList.DataBind();
        }

ASP.NET标记:

<ul id="menu">

    <li>
        <p>Station wählen:</p>

        <asp:DropDownList ID="StationDDList" OnSelectedIndexChanged="StationDDList_SelectedIndexChanged" ViewStateMode="Enabled" CssClass="btn btn-light dropdown-toggle" EnableViewState="true" runat="server" AutoPostBack="True" Width="145px">
        </asp:DropDownList>

        <hr />
    </li>

    <li>
        <button type="button" class="btn btn-light" style="height: 30px; width: 138px" title="Postfach" onclick="self.location.href = '/epadoc_Framework/Messenger/Messenger.aspx'">
            <span class="fa fa-envelope"> Nachrichten

                <span class="badge badge-light"><% Response.Write(db.CountNewMessages((string)Session["username"])); %></span>
            </span>
        </button>
        <hr />
    </li>

如您所见,该控件位于我用一个名为“ slicknav”的jQuery插件创建的菜单中,该菜单按预期工作,但DDL除外。

这是相应的jQuery代码:

$(function () {
    $('#menu').slicknav({
        label: "Menü",
        duration: 250,
        brand: "EPADOC - Die elektronische Patientenakte",

    });
});

一个奇怪的问题是:一旦我设置了菜单的Dropdown OUTSIDE,重定向就会起作用。如果我将其设置在菜单中,则OnSelectedIndexChanged甚至都不会触发(我在调试时发现了)-它只是再次加载同一页面,甚至没有给我错误。

我通过将AutoPostBack设置为true,EnableViewState等来尝试了所有操作。

0 个答案:

没有答案