Asp.Net MVC4为aspNet UserId

时间:2016-03-21 18:01:53

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我有一个MVC5应用程序,其中我要求管理员将供应商分配给他们的ASP.NET用户ID登录详细信息。这是因为供应商可以注册到我的应用程序,该应用程序将包含与已经设置的ID不同的ID。我需要一个管理员来获取他们的供应商ID并将其分配给他们的ASP.Net用户ID。

我将供应商和用户创建到下拉列表中,这一切都很好。我现在需要更新供应商ID以匹配ASP.Net用户ID

我所拥有的如下 控制器:

 [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult AssignSupplier(string supplierName, string UserName )
    {
        ApplicationUser user = db.Users.Where(u => u.UserName.Equals(UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();


        UserManager<ApplicationUser> _userManager = new UserManager<ApplicationUser>(
        new UserStore<ApplicationUser>(new ApplicationDbContext()));

      //  this.UserManager.ad

        var supp = db.Suppliers.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList();
        ViewBag.Suppliers = supp;
        var users = db.Users.OrderBy(r => r.UserName).ToList().Select(rr => new SelectListItem { Value = rr.UserName.ToString(), Text = rr.UserName }).ToList();
        ViewBag.Users = users;

        return View("ManageUserRoles");
    }

我不确定如何将AspNet用户ID保存回供应商表并覆盖当前ID,这可以完成。我使用了一个非常类似的解决方案,通过关注http://www.dotnetfunda.com/articles/show/2898/working-with-roles-in-aspnet-identity-for-mvc

将用户分配给角色

我想知道是否有人可以提供帮助或建议

非常感谢 标记

1 个答案:

答案 0 :(得分:2)

您是否要在SupplierUser之间创建一对多关系?

您的User需要Supplier

public class ApplicationUser
{
    //...
    public virtual Supplier Supplier {get;set;}
    //...
}

,您的Supplier需要User

列表
public class Supplier
{
    //...
    public virtual List<ApplicationUser> Users {get;set;}
    //...
}

然后在您的控制器中将供应商分配给用户:

public ActionResult AssignSupplier(string supplierName, string UserName )
{
    ApplicationUser user = db.Users.FirstOrDefault(u => u.UserName == UserName);

    Supplier supplier = db.Suppliers.FirstOrDefault(x => x.Name == supplierName);

    // Assign supplier to user
    user.Supplier = supplier;

    // Save
    db.SaveChanges();

    // ...
}