前端控件: 復制代碼 代碼如下:
<label>發布欄目:<asp:DropDownList ID="sectionDropDownList" runat="server"></asp:DropDownList></label
數據綁定: 復制代碼 代碼如下:
SourceDb DropDwonListData = new SourceDb();
string DropDwonSelect = "SELECT * FROM [Section]";
sectionDropDownList.DataSource = DropDwonListData.DatasetDb(DropDwonSelect).Tables[0].DefaultView;
sectionDropDownList.DataTextField = "name";
sectionDropDownList.DataValueField = "code";
sectionDropDownList.DataBind();
Button事件: 復制代碼 代碼如下:
string newsTitle = sectionDropDownList.SelectedValue;
Response.Write(newsTitle);
問題分析: 因為在page_load中每次都綁定了數據源,而去調用Button事件時,實際是每次都刷新了頁面的,於是每次在打印出來前都是初始化的值,於是每次都是輸出的的一個值。
問題解決: 判斷是否是頁面回調。
前端控件: 復制代碼 代碼如下:
<label>發布欄目:<asp:DropDownList ID="sectionDropDownList" runat="server"></asp:DropDownList></label
數據綁定: 復制代碼 代碼如下:
if(!IsPostBack){
SourceDb DropDwonListData
= new SourceDb();
string DropDwonSelect = "SELECT * FROM [Section]";
sectionDropDownList.DataSource = DropDwonListData.DatasetDb(DropDwonSelect).Tables[0].DefaultView;
sectionDropDownList.DataTextField = "name";
sectionDropDownList.DataValueField = "code";
sectionDropDownList.DataBind();
}
Button事件:
復制代碼 代碼如下:
string newsTitle = sectionDropDownList.SelectedValue;
Response.Write(newsTitle);