我的 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>
}
如您所见,在我的模型中,数量是一个整数,如果我在表单中输入一个整数,则会引发验证错误。
提前感谢任何可以提供帮助的人,我很感激。