.net Core Mvc DropDownList 数据绑定及值的获取

时间:2020-01-07
本文章向大家介绍.net Core Mvc DropDownList 数据绑定及值的获取,主要包括.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里的属性一致。

原文地址:https://www.cnblogs.com/sportdog/p/12161834.html