今天在使用 Asp:DropDownList控件時,想要做一個綁定數據功能,且要有OnSelectedIndexChanged事件,需要增加屬性AutoPostBack="true",否則OnSelectedIndexChanged事件觸發不了。
aspx內容:
<tr>
<td style=" width:8%">數據庫IP:</td>
<td><asp:DropDownList ID="ddl_db" runat="server" Width="100px" AutoPostBack="true" OnSelectedIndexChanged="ddl_db_SelectedIndexChanged"/>
</td>
</tr>
後臺內容:
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(BackstageMgt_Admin_Report_Mileage));
if (!IsPostBack)
{
//默認一天,提高頁面載入速度
txt_beginTime.Text = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
txt_endTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
dbs = LoginDB.getModelList("");
foreach (LoginDB db in dbs)
{
this.ddl_db.Items.Add(new ListItem(db.Source, db.db_id.ToString()));
}
this.ddl_db.SelectedIndex = 0;
....
}
}
但是我加上這個屬性後,發現頁面一直在刷新,把這個屬性去掉,則就不刷新了。後來試了把後臺Page_load中ddl_db相關代碼去掉,也不會刷新。
再後來試了一下把第一行的AjaxPro.Utility.RegisterTypeForAjax(typeof(BackstageMgt_Admin_Report_Mileage));註釋了,也不會刷新。
現在問題是找到了。還沒有深入研究出現的原因。如果你有想法請不吝賜教!!!