下拉列表不断刷新 [英] Dropdownlist keeps on refreshing
本文介绍了下拉列表不断刷新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨
我有一个下拉列表,每当我选择一个选项时,它都会刷新为第一个选定的值.可能是什么问题?
Hi
I have a dropdownlist, every time I select an option it refreshes to the first selected value. What might be the problem?
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
populateDDlEmployeeIDOnpageLoad();
loadgrdShowSelectedappointmentOnPageLoad();
}
}
#region Load ddlEmployeeID On page Load
public void populateDDlEmployeeIDOnpageLoad()
{
ArrayList staffList = new ArrayList();
systemBusinessLayer = new BusinessLayer();
staffList = systemBusinessLayer.loadEmployeesWithAppointments(date);
ddlEmployeeID.DataSource = staffList;
ddlEmployeeID.DataTextField = "EmployeeName1";
ddlEmployeeID.DataValueField = "EmpRecNumber1";
ddlEmployeeID.DataBind();
ddlEmployeeID.Items.Insert(0, ".:Select Employee:.");
}
#endregion
#region A method to Load grdShowSelectedappointment On Page Load with all appoinments
protected void loadgrdShowSelectedappointmentOnPageLoad()
{
string date = DateTime.Now.ToShortDateString();
DataTable dt = new DataTable();
systemBusinessLayer = new BusinessLayer();
// dt = systemBusinessLayer.grdLoadSpecificEmployeeOnPageLoad(date);
dt = systemBusinessLayer.GetAllAppointments(date);
grdShowSelectedappointment.DataSource = dt;
grdShowSelectedappointment.DataBind();
}
#endregion
public void getEmployeeID()
{
dTable = new DataTable();
systemBusinessLayer = new BusinessLayer();
dTable = systemBusinessLayer.GetAllEmployeesInfo();
foreach (DataRow dRow in dTable.Rows)//Go through each row inside datatable
{
string fullname = dRow["Fullname"].ToString();
if (ddlEmployeeID.SelectedItem.Text == fullname)
{
Session["EmpRecNumber"] = dRow["EmpRecNumber"].ToString();
}
}
}
protected void ddlEmployeeID_SelectedIndexChanged(object sender, EventArgs e)
{
getEmployeeID();
if (DatePicker.SelectedDate.ToShortDateString() == "1/1/0001")//if date is not selected
{
if (!Page.IsPostBack)
{
MessageBox.Show(Session["EmpRecNumber"].ToString());
}
}
else
{
MessageBox.Show("Invalid selection");
}
}
推荐答案
设置DropDownList控件的AutoPostBack="True"
的属性以停止刷新它
Set property of AutoPostBack="True"
of DropDownList Control to stop refreshing it
转到您的. aspx页面并将下拉列表的属性设置为Autopostback ="false"
Go to your .aspx page and set the dropdownlist''s property as Autopostback="false"
您在页面加载中使用了断点,并且下拉列表选择了索引更改事件.并观察哪个点的工作以及这些点的价值.
You use break point in you page load and dropdownlist selected index changed event. and watch which point work and value of those point.
这篇关于下拉列表不断刷新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文