首页 > 解决方案 > 我有一个与 List 有关的问题,我可以在其中插入吗?

问题描述

我有一个类emp

{
  public string empname {get ; set;}
  public int order {get ; set;}
}

例如 var emp= new list of emp

{
name ="sumit" , order =1,
name="piyal" , order =2,
name="jb" , order =3,
name="sila" , order =4
}

它在 UI 中显示为表格。当我需要在此表中插入时,我需要给出之前的订单,然后如果该订单存在,那么我需要在该订单之后插入该订单。

例如,我要插入一个对象 {name ="Rohit"} 并且我想在订单 2 之后插入它。所以我需要在 UI 中给出订单 2。所以新列表将是

{
name ="sumit" , order =1,
name="piyal" , order =2,
name="Rohit" , order =3,
name="jb",   order =4,
name="sila", order=5
}

其余员工的订单将增加。

我怎么能那样做?

标签: c#asp.net-core

解决方案


这是一个工作演示(在演示中,我给“Rohit”命令 3,它将在命令 2 之后执行):

模型:

public class emp
    {
        public string empname { get; set; }
        public int order { get; set; }
    }

控制器:

[HttpGet]
        public IActionResult Testemp()
        {
            List<emp> l = new List<emp> { new emp { empname = "sumit", order = 1 }, new emp { empname = "piyal", order = 2 }, new emp { empname = "jb", order = 3 }, new emp { empname = "sila", order = 4 } };
            return View(l);
        }
        [HttpPost]
        public IActionResult Testemp(List<emp> emps,emp emp)
        {
            emps.Insert(emp.order-1, emp);
            for (int i = emp.order;i<emps.Count(); i++)
            {
                emps[i].order += 1;
            }
            return View(emps);
        }

查看:</p>

@model IEnumerable<emp>
<form method="post">


    <table>
        <thead>
            <tr>
                <td>empname</td>
                <td>order</td>

            </tr>
        </thead>
        <tbody>
            @{ var i = 0;}
            @foreach (var item in Model)
            {
                <tr>
                    <td>
                        @item.empname
                        <input asp-for="@item.empname" name="[@i].empname" hidden/>
                    </td>
                    <td>
                        @item.order
                        <input asp-for="@item.order" name="[@i].order" hidden/>

                    </td>

                </tr>
                i++;
            }
        </tbody>
    </table>
    Create<br />
    <label>empname</label>
    <input  name="empname" />
    <label>order</label>
    <input  name="order" />
    <input type="submit" value="submit" />
</form>

结果(单击按钮时,将数据传递给操作,并将新的emp添加到列表中,并返回带有新列表的视图): 在此处输入图像描述


推荐阅读