生活随笔
收集整理的這篇文章主要介紹了
mvc 下拉框赋值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以前使用WebForm變成時,下拉框傳值只需直接在后臺綁定代碼就可以了。現在我們來看看在MVC中DropDownList是如果和接受從Controller傳過來的值的。
? ??
? ??第一種:使用DropDownList
?
? ? 控制器代碼:
public?ActionResult?Index()??{????????????List<Model.YzSeriesEntity>?seriesList?=?seriesBLL.LoadEnities().ToList();??????????SelectList?selList1?=?new?SelectList(seriesList,?"SerialName",?"SerialName");????????????List<Model.YzDivisionEntity>?divisionList?=?divisionBLL.LoadEnities().ToList();??????????SelectList?selList2?=?new?SelectList(divisionList,?"DivisionName",?"DivisionName");????????????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>任課學科:</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>
?
? ? 視圖代碼:?
<div>??????<span>@Html.Label("請選擇權重:")</span>??????<span>??????????<select?id="cc"?class="easyui-combobox"?name="dept"?????????????????data-options="valueField:'ID',textField:'Weight',url:'/SettingEvaluation/ListOption'"?/>??????</span>??</div>?? ?
?
? ? 控制器代碼: ? ?
public?ActionResult?ListOption()??{??????????List<Model.DTO.YzWeightEntityDTO>?weightList?=??????????weightBLL.LoadEnities().ToList().Select(s?=>?s.ToDto()).ToList();??????????return?Json(weightList,?JsonRequestBehavior.AllowGet);????}??? ?
?
? ? 效果顯示:
? ??
? ?
? ? 總結:
? ? 兩種傳值方式的比較:
? ? 第一種是控制器通過ViewBag傳值,前臺通過@Html.DropDownList接收;第二種是通過Json傳值,前臺通過url綁定valueField和textField的值來獲取數據。兩者沒有什么太大的不同,但是由于傳值使用<select></select>接收的,使用的是HTML標簽,所以還可以用來綁定其他的js事件,所以如果有功能需要的話,后者要比前者靈活些。
轉載于:https://www.cnblogs.com/lucy-12/p/5126636.html
總結
以上是生活随笔為你收集整理的mvc 下拉框赋值的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。