.net Core Mvc DropDownList 數據綁定及值的獲取


問題:

  1. 下拉框的值如何和ViewModel的集合進行綁定
  2. 綁定后的值Controller如何獲取

ViewModel:

public class FactoryEditViewModel
    {
        /// <summary>
        /// 用於修改保存
        /// </summary>
       public GM.Factory Factory
        {
            get;
            set;
        }
       /// <summary>
       /// 用於頁面企業下拉框
       /// </summary>
        public IEnumerable<SelectListItem> EnterpriseList
        {
            get;
            set;
        }
           
    }

Controller: get是頁面加載時用的,POST是前端提交過來時調用的。

 [HttpGet]
        public IActionResult Create()
        {
            EnterpriseBLL enterpriseBLL = new EnterpriseBLL();
            IList<GM.Enterprise> liEnterprise = enterpriseBLL.GetAllEnterprise();
            List<SelectListItem> li = new List<SelectListItem>(); 
            foreach(GM.Enterprise item in liEnterprise)
            {
                SelectListItem listItem = new SelectListItem();
                listItem.Text = item.Name;
                listItem.Value = item.Code;
                li.Add(listItem);
            }
            FactoryEditViewModel factoryEditViewModel = new FactoryEditViewModel();
            factoryEditViewModel.EnterpriseList = li;
            return View("FactoryCreate",factoryEditViewModel);
        }

        [HttpPost]
        public IActionResult Create(FactoryEditViewModel factoryEditViewModel)
        {
            try
            {
                FactoryBLL factoryBLL = new FactoryBLL();
                factoryBLL.SaveFactory(factoryEditViewModel.Factory);
                ViewData["Message"] = factoryEditViewModel.Factory.Code + "保存成功";
                return RedirectToAction("Create");

            }
            catch (Exception ex)
            {
                throw ex;

            }
        }

前端頁面:

 <table width="70%" border="1" cellpadding="0" cellspacing="0">
            <tr>
                <td class="tdleft" width="100">
                    編碼:
                </td>
                <td>
                    <input asp-for="Factory.Code" style="width:350px" />
                </td>
            </tr>
            <tr>
                <td class="tdleft">名稱:</td>
                <td><input asp-for="Factory.Name" style="width:350px" /></td>
            </tr>
            <tr>
                <td class="tdleft">企業:</td>
                <td>
                    @Html.DropDownList("Factory.EnterpriseCode",Model.EnterpriseList)
                </td>


            </tr>
            <tr>
                <td colspan="2" align="center">
                    <input id="btnSave" type="submit" value="保 存" onclick="return check()" />&nbsp;&nbsp;&nbsp;&nbsp;
                    <input id="btnBack" onclick="javascript:GoBack();" type="button" value="返 回" />
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <font size="2" color="green">@ViewData["Message"]</font>
                </td>
            </tr>
        </table>

注意:前端頁面 Factory.EnterpriseCode 需和ViewModel里的屬性一致。且再修改時只要給 Factory賦好值,對應的EnterpriseCode會自動選中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM