• .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="350px" />
                    </td>
                </tr>
                <tr>
                    <td class="tdleft">名称:</td>
                    <td><input asp-for="Factory.Name" style="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会自动选中。

  • 相关阅读:
    java 实现大顶堆
    (转)单调栈总结
    leetcode再次总结
    (转)jvm具体gc算法介绍标记整理--标记清除算法
    (转)java 多线程 对象锁&类锁
    maven 上传 jar 到本地私服
    记录一下faster rcnn
    yolov2训练ICDAR2011数据集
    MSE,ks,mAP,weight decay等名词解释
    python爬虫爬取指定用户微博图片及内容,并进行微博分类及使用习惯分析,生成可视化图表
  • 原文地址:https://www.cnblogs.com/sportdog/p/12161834.html
Copyright © 2020-2023  润新知