當前我創建了一個ASP.Net頁面,該頁面具有autopostback設置爲true的下拉控件。我還爲單個列表項添加了彩色背景。無論何時在下拉控件中選擇一個項目,樣式都會從所有列表項中完全刪除。我怎樣才能防止這種情況發生?我需要回發來根據所選的下拉項目來提取數據。這是我的代碼。Postback從頁面刪除樣式
aspx文件:
<asp:DropDownList ID="EmpDropDown" AutoPostBack="True" OnSelectedIndexChanged="EmpDropDown_SelectedIndexChanged" runat="server">
</asp:DropDownList>
<asp:TextBox ID="MessageTextBox" TextMode="MultiLine" Width="550" Height="100px" runat="server"></asp:TextBox>
aspx.cs後臺代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetEmpList();
}
}
protected void EmpDropDown_SelectedIndexChanged(object sender, EventArgs e)
{
GetEmpDetails();
}
private void GetEmpList()
{
SqlDataReader dr = ToolsLayer.GetEmpList();
int currentIndex = 0;
while (dr.Read())
{
EmpDropDown.Items.Add(new ListItem(dr["Title"].ToString(), dr["EmpKey"].ToString()));
if (dr["Status"].ToString() == "disabled")
{
EmpDropDown.Items[currentIndex].Attributes.Add("style", "background-color:red;");
}
currentIndex++;
}
dr.Close();
}
private void GetEmpDetails()
{
SqlDataReader dr = ToolsLayer.GetEmpDetails(EmpDropDown.SelectedValue);
while (dr.Read())
{
MessageTextBox.Text = dr["Message"].ToString();
}
dr.Close();
}
謝謝
那篇文章不僅僅適用於ASP.NET 1.x嗎?我猜想OP是在ASP.NET 2.0上(儘管我不知道......)。 – scherand 2010-06-16 18:10:36
非常真實 - 沒有注意到頂部1.1提到 - 日期看起來已經足夠2.0了(不是我知道什麼時候2.0出來)。 – 2010-06-16 18:25:01