詳解ASP.NET MVC 下拉框的傳值的兩種方式
以前使用WebForm變成時,下拉框傳值只需直接在后臺綁定代碼就可以了?,F(xiàn)在我們來看看在MVC中DropDownList是如果和接受從Controller傳過來的值的。
第一種:使用DropDownList
控制器代碼:
public ActionResult Index()
{
//1.1查詢YzSeriesEntity的數(shù)據(jù)
List<Model.YzSeriesEntity> seriesList = seriesBLL.LoadEnities().ToList();
//1.2將YzSeriesEntity的數(shù)據(jù)封裝到 SelectList中,制定要生成下拉框選項(xiàng)的value和text屬性
SelectList selList1 = new SelectList(seriesList, "SerialName", "SerialName");
//2.1查詢YzDivisionEntity的數(shù)據(jù)
List<Model.YzDivisionEntity> divisionList = divisionBLL.LoadEnities().ToList();
//2.2講YzDivisionEntity的數(shù)據(jù)封裝到 SelectList中,制定要生成下拉框選項(xiàng)的value和text屬性
SelectList selList2 = new SelectList(divisionList, "DivisionName", "DivisionName");
//3.調(diào)用Selectlist的As方法,自動生成SelectListItem集合,并存入ViewBag中
ViewBag.selList1 = selList1.AsEnumerable();
ViewBag.selList2 = selList2.AsEnumerable();
return View();
}
視圖代碼:
<!-------------- 添加對話框-------------->
<div id="addDiv">
@using (Ajax.BeginForm("Add", new AjaxOptions() { OnSuccess = "afterAdd" }))
{
<table>
<tr>
<td>編號:</td>
<td>
@Html.TextBox("StaffID")
</td>
</tr>
<tr>
<td>姓名:</td>
<td>@Html.TextBox("StaffName")</td>
</tr>
<tr>
<td>性別:</td>
<td>
<input type="radio" id="GenderM" name="Sex" value="男" />男
<input type="radio" id="GenderF" name="Sex" value="女" checked />女
</td>
</tr>
<tr>
<td>所在系列:</td>
<td>
@Html.DropDownList("SerialName", ViewBag.selList1 as IEnumerable<SelectListItem>)
</td>
</tr>
<tr>
<td>科室或年級組:</td>
<td>
@Html.DropDownList("DivisionName", ViewBag.selList2 as IEnumerable<SelectListItem>)
</td>
</tr>
<tr>
<td>任課學(xué)科:</td>
<td>
@Html.TextBox("Subjects")
</td>
</tr>
<tr>
<td>聘任日期:</td>
<td>
@Html.TextBox("EngageDate")
</td>
</tr>
<tr>
<td>參加工作日期:</td>
<td>
@Html.TextBox("WorkDate")
</td>
</tr>
<tr>
<td>職稱:</td>
<td>
@Html.TextBox("jobQualification")
</td>
</tr>
<tr>
<td>身份證號:</td>
<td>
@Html.TextBox("IdentityCard")
</td>
</tr>
</table>
}
</div>
效果顯示:
第二種:使用<select></select>
視圖代碼:
<!--選擇權(quán)重-->
<div>
<span>@Html.Label("請選擇權(quán)重:")</span>
<span>
<select id="cc" class="easyui-combobox" name="dept"
data-options="valueField:'ID',textField:'Weight',url:'/SettingEvaluation/ListOption'" />
</span>
</div>
控制器代碼:
//下拉框?qū)?yīng)的列表
public ActionResult ListOption()
{
//2.1.查詢出weight實(shí)體,并將其轉(zhuǎn)成DTO類型
List<Model.DTO.YzWeightEntityDTO> weightList =
weightBLL.LoadEnities().ToList().Select(s => s.ToDto()).ToList();
//2.2返回json
return Json(weightList, JsonRequestBehavior.AllowGet);
}
效果顯示:
總結(jié):
兩種傳值方式的比較:
第一種是控制器通過ViewBag傳值,前臺通過@Html.DropDownList接收;第二種是通過Json傳值,前臺通過url綁定valueField和textField的值來獲取數(shù)據(jù)。兩者沒有什么太大的不同,但是由于傳值使用<select></select>接收的,使用的是HTML標(biāo)簽,所以還可以用來綁定其他的js事件,所以如果有功能需要的話,后者要比前者靈活些。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- ASP.NET?MVC實(shí)現(xiàn)多選下拉框
- ASP .NET 可編輯輸入自動匹配的下拉框
- 詳解ASP.NET MVC之下拉框綁定四種方式
- ASP.NET MVC下拉框聯(lián)動實(shí)例解析
- ASP.NET中DropDownList下拉框列表控件綁定數(shù)據(jù)的4種方法
- ASP.NET實(shí)現(xiàn)級聯(lián)下拉框效果實(shí)例講解
- ASP.NET多彩下拉框開發(fā)實(shí)例
- asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法
- asp.net中js+jquery添加下拉框值和后臺獲取示例
- asp.net 實(shí)現(xiàn)下拉框只讀功能
- ASP.NET?MVC下拉框中顯示枚舉項(xiàng)
相關(guān)文章
asp.net SAF 中緩存服務(wù)的實(shí)現(xiàn)
對緩存的興趣源于張子陽寫的一篇文章《SAF 中緩存服務(wù)的實(shí)現(xiàn)》中的一個例子:2008-08-08
Asp.net圖片上傳實(shí)現(xiàn)預(yù)覽效果的簡單代碼
這篇文章介紹了Asp.net圖片上傳實(shí)現(xiàn)預(yù)覽效果的簡單代碼,有需要的朋友可以參考一下2013-07-07
ASP.NET Core設(shè)置URLs的方法匯總(完美解決.NET 6項(xiàng)目局域網(wǎng)IP地址遠(yuǎn)程無法訪問的
近期在dotnet項(xiàng)目中遇到這樣的問題.net6 運(yùn)行以后無法通過局域網(wǎng)IP地址遠(yuǎn)程訪問,整理出解決問題的五種方式方法,感興趣的朋友一起看看吧2023-11-11
.NET?SkiaSharp?生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)
這篇文章主要為大家介紹了.NET?SkiaSharp?生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
ASP.NET Session的七點(diǎn)認(rèn)識小結(jié)
ASP.NET Session的使用當(dāng)中我們會遇到很多的問題,那么這里我們來談下經(jīng)常出現(xiàn)的一些常用ASP.NET Session的理解2011-07-07
如何給ASP.NET Core Web發(fā)布包做減法詳解
在ASP.Net中可以使用打包與壓縮這兩種技術(shù)來提高Web應(yīng)用程序頁面加載的性能。下面這篇文章主要給大家介紹了關(guān)于如何給ASP.NET Core Web發(fā)布包做減法的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧2018-06-06

