- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在编写一个 mvc 4 c# .net 4.5 网站
我想创建一个新的公司对象并注册一个链接到该公司的新用户。
我的账户模型是:
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailAddress { get; set; }
public string PhoneNumber { get; set; }
public bool MarketingEmailOptin { get; set; }
public bool isDisabled { get; set; }
public virtual Company CompanyICanEdit { get; set; }
}
如果我调用以下命令,它会很好地添加用户,但 CompanyICanEdit 字段为空:
WebSecurity.CreateUserAndAccount(addCompanyViewModel.User.UserName,
addCompanyViewModel.User.Password,
propertyValues: new
{
FirstName = addCompanyViewModel.User.FirstName,
LastName = addCompanyViewModel.User.LastName,
EmailAddress = addCompanyViewModel.User.EmailAddress,
PhoneNumber = addCompanyViewModel.User.PhoneNumber,
MarketingEmailOptin = addCompanyViewModel.User.MarketingEmailOptin,
isDisabled = false
});
这是我所期望的,因为我没有给它分配任何东西。
我尝试添加(mycompany 是公司对象):
WebSecurity.CreateUserAndAccount(addCompanyViewModel.User.UserName,
addCompanyViewModel.User.Password,
propertyValues: new
{
FirstName = addCompanyViewModel.User.FirstName,
LastName = addCompanyViewModel.User.LastName,
EmailAddress = addCompanyViewModel.User.EmailAddress,
PhoneNumber = addCompanyViewModel.User.PhoneNumber,
MarketingEmailOptin = addCompanyViewModel.User.MarketingEmailOptin,
isDisabled = false,
CompanyICanEdit = mycompany
});
但是我得到一个错误,说它不能匹配类型。
我该如何注册用户,以便 CompanyICanEdit 包含 mycompany 的 CompanyId 值?
任何帮助将不胜感激。谢谢
最佳答案
从来没有想过如何一口气做到这一点,如果有人遇到同样的问题,最后通过以下方式绕过它。
//
// POST: /BusinessManager/ManageCompanies/Add
[HttpPost]
public ActionResult Add(AddCompanyViewModel addCompanyViewModel)
{
if (ModelState.IsValid)
{
// Create company and attempt to register the user
try
{
WebSecurity.CreateUserAndAccount(addCompanyViewModel.User.UserName,
addCompanyViewModel.User.Password,
propertyValues: new
{
FirstName = addCompanyViewModel.User.FirstName,
LastName = addCompanyViewModel.User.LastName,
EmailAddress = addCompanyViewModel.User.EmailAddress,
PhoneNumber = addCompanyViewModel.User.PhoneNumber,
MarketingEmailOptin = addCompanyViewModel.User.MarketingEmailOptin,
isDisabled = false
});
db.Companies.Add(addCompanyViewModel.Company);
var newuser = db.UserProfiles.FirstOrDefault(u => u.UserName == addCompanyViewModel.User.UserName);
if (newuser != null)
{
newuser.CompanyICanEdit = addCompanyViewModel.Company;
db.Entry(newuser).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
else
{
ModelState.AddModelError("", "New user wasn't added");
}
}
catch (MembershipCreateUserException e)
{
ModelState.AddModelError("", Mywebsite.Controllers.AccountController.ErrorCodeToString(e.StatusCode));
}
}
return View(addCompanyViewModel);
}
关于c# - WebSecurity.CreateUserAndAccount 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14912208/
我正在编写一个 mvc 4 c# .net 4.5 网站 我想创建一个新的公司对象并注册一个链接到该公司的新用户。 我的账户模型是: [Table("UserProfile")] pu
我有 2 个问题: 为什么我会遇到这个异常?我想在我的用户表(它有 6 列:名称、角色、电子邮件、组、ID、软件版本)和成员资格表中创建一行。主键是 Id-SoftwareVersion 对。代码:
我正在尝试扩展简单成员资格以包括名字、第二名和电子邮件地址,但是我在使用 CreateUserAndAccount 时遇到了一些问题。 所以基本上在 RegisterModel 中我添加了以下内容:-
我正在尝试向 UserProfile 添加新属性我的模型中的类 public class UserProfile { [Key] [DatabaseGeneratedAttribute
我正在开发 ASP.NET MVC 4 Web 应用程序。创建用户和帐户(使用 WebSecurity.CreateUserAndAccount)后,我想继续与该用户合作,例如在其他模型中使用他作为外
如果 Sql Server 数据库排序规则是 Turkish_CI_AS,我会在下面收到该错误,原因是 SimpleMembershipProvider.cs 类的“GetUserId”方法中的 SE
我在 UserProfile table.like 中创建自定义字段时遇到问题 public class UserProfile { [Key] [Databa
我想在 Configuration.cs 中移动我对数据库表和数据的初始化(用户,角色 e.t.c. 中的用户),如本文所示:http://blog.longle.net/2012/09/25/see
使用 MVC 4,Simplemembership 我正在构建一个供企业使用的 Web 应用程序,因此不希望开箱即用的 MVC 4 模板功能允许用户注册。相反,我想要一个仅允许管理员访问然后创建用户的
当我们选择New Project --> MVC 4 --> Internet Application ,它会自动为我们生成AccountController。在这个 Controller 中,我只关
我是一名优秀的程序员,十分优秀!