将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);
}

也许我看错了?还是有办法做到这一点?非常感谢你的帮助!

将int保存为对象的键

我和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();
}