为什么我的 ID 传递不适用于 httpcontext.session?



>我正在尝试通过我的控制器将 ID 从一个视图传递到另一个视图,但不知何故,我不断收到错误,它无法将"int"转换为"Namespace.Modal.name"?

这是我的电子邮件模型中的代码:

public int emailID { get; set; }
[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[DataType(DataType.EmailAddress)]
[EmailAddress]
public string emailadres { get; set; }
public string omschrijving { get; set; }
public bool verwijderd { get; set; }
public virtual Vrijwilligers vrijwilligerID { get; set; }

这是我的控制器的代码:

    public ActionResult Create([Bind(Include = "emailID,emailadres,omschrijving,verwijderd,vrijwilligerID")] Email email)
    {
        if (ModelState.IsValid)
        {
            int id = int.Parse(HttpContext.Session["vrijwilligersID"].ToString());
             email.vrijwilligerID = id;
             email.verwijderd = false;
            db.Emails.Add(email);
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(email);// vrijwilligers details
    }

错误来自以下特定部分:

int id = int.Parse(HttpContext.Session["vrijwilligersID"].ToString());
email.vrijwilligerID = id;

调试时,我发现正在传递 ID,但不正确。

>正如@Equalsk指出的那样,vrijwilligerID不是Int,它是一个object,你需要从具有该ID的Vrijwilligers获取项目,所以;

email.vrijwilligerID = db.Vrijwilligers.FirstOrDefault(x=> x.Id == id);

希望有帮助,

最新更新