繁体   English   中英

发布项目时在ASP.NET C#中获取userID

[英]Getting userID in ASP.NET C# when posting item

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

大多数网站都是简单的CRUD操作。 我启用了个人用户帐户,当有人将项目发布到市场时,我想将他们当前的用户ID绑定到帖子。 我已设置字段但如何自动附加登录用户的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字符串值,但我不知道如何设置它。

这是我的创建产品控制器。 我会在这里放入那个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");
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM