0

我的 MVC 4 站点上有一个仪表板,其中部分显示来自一个 db 表的数据列表(我的数据库是使用实体框架代码优先方法生成的)。显示的数据用于订单列表以及与该订单相关的信息。现在,我正在尝试添加为同一订单添加额外数量的功能(例如:我需要此订单报价为 10、25、50 和 100 件)。在每一行的编辑、详细信息和删除选项旁边是一个添加按钮,用户可以在其中添加另一个数量。但是,在测试中,当我去提交一个数量时,出现验证错误,说输入的值是无效的,而它应该是一个完全有效的输入。有人可以帮忙吗,因为我不知道为什么会这样。以下是一些相关代码:

楷模:

General_Info.cs

public class General_Info
{
    [Key]
    public int Quote_ID { get; set; }

    [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
    public DateTime Open_Quote { get; set; }
    public string Customer_Name { get; set; }
    public string OEM_Name { get; set; }
    public int Qty { get; set; }
    public string Fab_Drawing_Num { get; set; }
    public string Rfq_Num { get; set; }
    public string Rev_Num { get; set; }
    public string Group_Number { get; set; }

    public General_Info()
    {
        Quantitys = new HashSet<Quantity>();
        Quote_Datas = new HashSet<Quote_Data>();
    }

    public virtual ICollection<Quantity> quantitys { get; set; }
}

数量.cs

public class Quantity
{
    [Key]
    public int Qty_ID { get; set; }

    public string Group_Number { get; set; } // foreign key
    public int quantity { get; set; }
    public General_Info General_Info { get; set; }

}

仪表板控制器:

[HttpGet]
    public ActionResult AddQuantity(int Group_Num = 0)
    {
        return View();
    }

    [HttpPost]
    public ActionResult AddQuantity(Quantity quantity)
    {
        if (ModelState.IsValid)
        {
            db.Quantitys.Add(quantity);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        return View(quantity);
    }

查看 AddQuantity.cshtml

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)

<fieldset>
    <legend>Quantity</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.quantity)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.quantity)
        @Html.ValidationMessageFor(model => model.quantity)
    </div>
    <p>
        <input type="submit" value="Add Qty" />
    </p>
</fieldset>
}

如您所见,在我的模型中,数量是一个整数,如果我在表单中输入一个整数,则会引发验证错误。

提前感谢任何可以提供帮助的人,我很感激。

4

1 回答 1

1

如果您更改绑定模型名称,那应该这样做

[HttpPost]
public ActionResult AddQuantity(Quantity model)
于 2013-04-10T19:20:43.977 回答