[英]How to access UserId in account controller in asp.net mvc3?
我想在用戶注冊后向所有用戶分配表的行。 該表具有名為UserId的列和其他一些列。 我想將此表的UserId設置為新注冊用戶的UserId,並將其他值設置為0。我想在Register函數中執行此操作。 但是我不知道如何在帳戶控制器的注冊功能中訪問UserID。 我使用默認的帳戶控制器及其功能。 寄存器功能的代碼是:
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
MembershipCreateStatus createStatus;
Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);
if (createStatus == MembershipCreateStatus.Success)
{
FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", ErrorCodeToString(createStatus));
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
假設用戶是您的模型,則控制器應該是這樣的
class Account:Controller{
[HttpPost]
ActionResult Register(User myModel){
var myUserId = myModel.UserId;
}
}
並且您的視圖應從這樣的內容開始
@model User
如果您將創建時為用戶生成的唯一標識符作為UserId引用,則可以找到它,
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
MembershipCreateStatus createStatus;
var user = Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);
if (createStatus == MembershipCreateStatus.Success)
{
var userId = (Guid) user.ProviderUserKey; //The unique identifier just created
FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", ErrorCodeToString(createStatus));
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.