ASP.NET MVC DropDownList數(shù)據(jù)綁定及使用詳解
一:DropDownList
1.1 DropDownList綁定數(shù)據(jù)
1.1.1 DropDownList 固定綁定
這種方式適合那些已經(jīng)固定的數(shù)據(jù)綁定到DropDownList上。
例
<asp:DropDownList runat="server" ID="ddlArea" Width="120px" >
<asp:Listitem value="0">選擇性別</asp:Listitem>
<asp:Listitem value="1">男</asp:Listitem>
<asp:Listitem value="2">女</asp:Listitem>
</asp:DropDownList>
1.1.2 DropDownList 動態(tài)綁定
前臺:
后臺:兩種方法:(注意,每次綁定都要清除一下原來的記錄,例:ddlArea.Items.Clear();)
第一種:
SqlConnection conn = new SqlConnection("server=.;uid=sa;database=pubs");
SqlDataAdapter dap = new SqlDataAdapter("select * from jobs", conn);
DataTable dt = new DataTable();
dap.Fill(dt);
DropDownList1.Items.Clear();
DropDownList1.DataSource = dt;
DropDownList1.DataTextField = "job_desc";
DropDownList1.DataValueField = "job_id";
DropDownList1.DataBind();
DropDownList1.Items.Insert(0, new ListItem("選擇數(shù)據(jù)", "隨機綁定"));//插入默認(rèn)項,此舉必須放到數(shù)據(jù)綁定之后效果:
第二種:
SqlConnection conn = new SqlConnection("server=.;uid=sa;database=pubs");
SqlDataAdapter dap = new SqlDataAdapter("select * from jobs", conn);
DataTable dt = new DataTable();
dap.Fill(dt);
if (dt.Rows.Count != 0)
{
DropDownList1.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
DropDownList1.Items.Add(new ListItem(dt.Rows[i]["顯示值"].ToString(), dt.Rows[i]["usbkey"].ToString()));
}
DropDownList1.Items.Insert(0, "選擇網(wǎng)吧");
DropDownList1.Items[0].Value = "0"; 或
// DropDownList1.Items.Insert(0, new ListItem("選擇數(shù)據(jù)", "隨機綁定"));//插入默認(rèn)項,此舉必須放到數(shù)據(jù)綁定之
}
else
{
DropDownList1.Items.Insert(0, "無網(wǎng)吧記錄");
DropDownList1.Items[0].Value = "0";
}
二:DropDownList1的取值問題:
2.1 取DropDownList1的索引值,也就是選擇 value 值<asp:Listitem value="1">男</asp:Listitem> 取1
.net中 DropDownList1.SelectedValue.ToString()
javascirpt var ddl1=document.getElementByIdx_x("DropDownList1").selectedIndex;
2.2 取DropDownList1的選項,也就是選擇item值<asp:Listitem value="1">男</asp:Listitem> 取 男
.net 中DropDownList1.SelectedItem.ToString();
javascript document.getElementByIdx_x("DropDownList1").options[document.getElement("selectID").selectedIndex].value
三:DropDownList1事件問題:
重點:使用OnTextChanged,OnSelectedIndexChanged事件時,必須設(shè)置
<asp:DropDownList runat="server" OnTextChanged="DropDownList1_TextChanged"OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged1">
OnTextChanged,OnSelectedIndexChanged這兩個事件具體有什么區(qū)別,我也沒測試出來,只知道OnSelectedIndexChanged這個事件要比OnTextChanged執(zhí)行的早,也就是如果這兩個事件都存在,會首先執(zhí)行OnSelectedIndexChanged這個事件,然后才執(zhí)行OnTextChanged.
四:如何避免DropDownList下拉框中的值重復(fù)添加?
AppendDataBoundItems是否填加重復(fù)值。真為添加,假為不填加
原因:DropDownList控件AppendDataBoundItems屬性設(shè)置為"True"了的,改為False即可。
例如:如果專業(yè)后的DropDownList控件AppendDataBoundItems屬性設(shè)置為"True",那么選擇院系后專業(yè)里的值會不斷添加。
五:區(qū)別
depart_ddl.Items.Insert(0,new ListItem("不選該項","0")); 這是在首項添加數(shù)據(jù)。
Items.Add是在最后添加
DropDownList1.Items.Add(new ListItem("Text","value")); 是在最后添加
DropDownList1.Items.Insert(Index,new ListItem("Text","value"));這是在首項添加數(shù)據(jù)。
六:從數(shù)據(jù)庫中讀取數(shù)據(jù),并綁定到DropDownList中
if (ds.Tables[0].Rows[0]["State"].ToString ()=="True")
{
DropDownListState.Items.FindByValue("1").Selected =true;
}
else
{
DropDownListState.Items.FindByValue("0").Selected =true;
}
- asp.net mvc 從數(shù)據(jù)庫中讀取圖片的實現(xiàn)代碼
- asp.net mvc4 mysql制作簡單分頁組件(部分視圖)
- 利用ASP.NET MVC+EasyUI+SqlServer搭建企業(yè)開發(fā)框架
- 使用jQuery向asp.net Mvc傳遞復(fù)雜json數(shù)據(jù)-ModelBinder篇
- ASP.NET中MVC從后臺控制器傳遞數(shù)據(jù)到前臺視圖的方式
- Asp.net mvc 數(shù)據(jù)調(diào)用示例代碼
- ASP.NET MVC 數(shù)據(jù)驗證及相關(guān)內(nèi)容
- ASP.NET Mvc開發(fā)之刪除修改數(shù)據(jù)
- ASP.NET中MVC傳遞數(shù)據(jù)的幾種形式總結(jié)
- ASP.NET Mvc開發(fā)之查詢數(shù)據(jù)
- JQuery對ASP.NET MVC數(shù)據(jù)進(jìn)行更新刪除
- asp.net實現(xiàn)的MVC跨數(shù)據(jù)庫多表聯(lián)合動態(tài)條件查詢功能示例
- ASP.NET MVC使用EPPlus,導(dǎo)出數(shù)據(jù)到Excel中
相關(guān)文章
ASP.NET Core WebAPI實現(xiàn)本地化(單資源文件)
這篇文章主要介紹了ASP.NET Core WebAPI實現(xiàn)本地化(單資源文件),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06ASP.NET Core模仿中間件方式實現(xiàn)列表過濾功能
這篇文章介紹了ASP.NET Core模仿中間件方式實現(xiàn)列表過濾功能的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07asp.net 使用Silverlight操作ASPNETDB數(shù)據(jù)庫
asp.net下使用Silverlight操作ASPNETDB數(shù)據(jù)庫的實現(xiàn)代碼2010-01-01asp.net slickupload 使用方法(文件上傳)
asp.net下使用slickupload上傳文件的代碼2009-05-05未能加載文件或程序集“AspNetPager”或它的某一個依賴項。拒絕訪問
突然間,訪問站點所有頁面都出錯,全提示:未能加載文件或程序集“AspNetPager”或它的某一個依賴項。拒絕訪問2012-06-06使用ASP.NET模板生成HTML靜態(tài)頁面的五種方案
使用ASP.NET模版生成HTML靜態(tài)頁面并不是難事,主要是使各個靜態(tài)頁面間的關(guān)聯(lián)和鏈接如何保持完整。本文介紹了使用ASP.NET模版生成HTML靜態(tài)頁面的五種方案2011-11-11mstest實現(xiàn)類似單元測試nunit中assert.throws功能
我們做單元測試NUnit中,有一個斷言Assert.Throws很好用,現(xiàn)在我們來擴展一下也實現(xiàn)類似成功能,大家參考使用吧2014-01-01