将int保存为对象的键
本文关键字:对象 int 保存 | 更新日期: 2023-09-27 18:10:58
基本上是这样的:
public class Inventory
{
public int ID { get; set; }
public Trade Have1 { get; set; }
public Trade Have2 { get; set; }
public Trade Have3 { get; set; }
}
我希望能够使用贸易对象的id创建和保存库存对象,而不是不得不拉出每个对象的实际贸易对象,因为这似乎非常低效。
我希望能做这样的事情:
@using (Html.BeginForm("AddToFT", "Home", FormMethod.Post, new { @id = "realsubmit", role = "form" }))
{
@Html.ValidationSummary(true)
@Html.HiddenFor(model => model.Have1)
@Html.HiddenFor(model => model.Have2)
@Html.HiddenFor(model => model.Have3)
<input type="submit" value="Create" />
}
所以我可以只输入3个整数的贸易ID,然后让它保存这些整数作为键,而不是然后从数据库中拉出每个贸易,把它放入库存对象,然后保存它。像这样:
[HttpPost]
public ActionResult Create(Inventory inventory)
{
if (ModelState.IsValid)
{
db.Pokemon.Add(inventory);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(inventory);
}
也许我看错了?还是有办法做到这一点?非常感谢你的帮助!
我和alizis一样,不能真正理解你在说'type'和使用隐藏字段时想要达到的目的。
如何使用:-
<input type="text" name="haveId1" />
<input type="text" name="haveId2" />
<input type="text" name="haveId3" />
而不是隐藏,得到id回来,并设置他们在一个新的对象保存?
[HttpPost]
public ActionResult Create(int haveId1, int haveId2, int haveId2)
{
if (ModelState.IsValid)
{
Inventory inventory = new Inventory()
{
Have1 = haveId1,
Have2 = haveId2,
Have3 = haveId3
};
db.Pokemon.Add(inventory);
db.SaveChanges();
return RedirectToAction("Index");
}
return View();
}