【问题标题】:How can I pass an input/Textbox Field to Controller? ASP.NET MVC and Entity Framework如何将输入/文本框字段传递给控制器​​? ASP.NET MVC 和实体框架
【发布时间】:2015-07-14 13:02:19
【问题描述】:

我有一个表单和一个带有以下输入字段的简单模型:

public class Order
{
    public int Id { get; set; }
    public DateTime OrderDate { get; set; }
    public string Article { get; set; }
    public double Price { get; set; }
    public string Notice { get; set; }
}

我的表单是这样的

我可以在我的控制器上捕捉值

[HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create([Bind(Include = "OrderID,OrderDate,Article,Price,Notice")] Order order)
        {
            if (ModelState.IsValid)
            {
                db.Orders.Add(order);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(order);
        }

所以。我想用 jQuery 添加动态字段。这很好,但我不知道如何从多个输入字段中获取值。这就是我的问题。

所以我想为每个订单创建一个实体。 (如何在最后一张图片)

请看最后一张图片

这就是我想要的结果!如何在 ASP.NET MVC C# 中获得此结果?我使用实体框架 6 感谢您的帮助!

【问题讨论】:

  • 只需创建另一个actionMethod ...就像预期的参数列表 ordersdetails.....将所有输入字段值传递给集合..
  • 所以您正在尝试创建一个页面,用户可以在其中添加模型的多个项目,对吗?您需要使用模型列表创建模型。
  • @Dean.DePue 是的,这就是我想要的。您是指 Create Controller 中的 List myList 吗?你能给我举个例子吗?
  • @JagadeeshGovindaraj 你的意思是在将 Create 方法通过 RedirectToAction 重定向到我的 Listmethod 之后?
  • 查看这个 [问题][1],据我了解,它解决了同样的问题 [1]:stackoverflow.com/questions/7110614/…

标签: c# jquery asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

首先,您需要更改您的操作以接受List<Order> 参数(或具有List<Order> 类型属性的强类型视图模型):

 [HttpGet]
 public ActionResult Create()
 {         
     var model = new List<Order>();
     return View(model);
 }

 [HttpPost]
 [ValidateAntiForgeryToken]
 public ActionResult Create(List<Order> orders)
 {
     // Update code omitted
     return View(order);
 }

然后在你的视图中添加一个模型声明:

@model List<Order>;

现在,您需要纠正的部分是在 HTML 输入名称上动态添加的 Order 对象的命名,以保持模型绑定器满意。

在创建第一个订单项时,您的输入名称应为:

Name="[0].Id"
Name="[0].OrderDate"
Name="[0].Article"
Name="[0].Price"
Name="[0].Notice"

这将是第一个订单,依此类推:

Name="[1].Id"
Name="[1].OrderDate"
Name="[1].Article"
Name="[1].Price"
Name="[1].Notice"

这篇文章值得一读:

Model Binding To A List

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 2017-07-10
    • 1970-01-01
    相关资源
    最近更新 更多