gpt4 book ai didi

c# - 发布项目时在 ASP.NET C# 中获取用户 ID

转载 作者:行者123 更新时间:2023-11-30 18:25:33 26 4
gpt4 key购买 nike

我正在为我的本地社区构建一个小型的 craigslist/ebay 类型的市场。

大部分站点都是简单的增删改查操作。我启用了个人用户帐户,当有人向市场发布商品时,我想将他们当前的用户 ID 绑定(bind)到该帖子。我设置了字段,但如何自动附加登录用户的 ID。

这是我的产品类

public class Product
{
public string Title { get; set; }
public decimal Price { get; set; }
public string Photo { get; set; }
public string Description { get; set; }
public bool Availability { get; set; }
public string Category { get; set; }

public string Id { get; set; }

public virtual ApplicationUser ApplicationUser { get; set; }
}

我在产品数据库表中有一个字段将保存 ApplicationUser_Id 字符串值,但我不知道如何设置它。

这是我创建的产品 Controller 。我会在这里输入那个 userID 逻辑吗?

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Title,Price,Description,Availability,Category,Photo")] Product product)
{
if (ModelState.IsValid)
{
db.Products.Add(product);
db.SaveChanges();
return RedirectToAction("Index");
}

return View(product);
}

最佳答案

是的,您需要在保存之前将用户添加到产品中。像这样的东西:

if (ModelState.IsValid)
{
db.Products.Add(product);
db.Products.ApplicationUser = currentUser; //depending how you have your user defined
db.SaveChanges();
return RedirectToAction("Index");
}

我有一段时间没有使用实体,所以我认为这应该是正确的

关于c# - 发布项目时在 ASP.NET C# 中获取用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29970286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com