我的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等来尝试了所有操作。