我創造MVC4一個網站,這是我第一次使用MVC在.NET中,我sussed出記錄和登記。我有這種情況:MVC4 C#會員註冊角色上的按鈕點擊
當用戶在我希望將他們引導到註冊頁面之前,他們點擊註冊部分的具體內容時,該網站具有角色'A'和角色'B'部分,我將他們引導至註冊頁面。不過,我希望註冊頁面根據他們點擊的註冊按鈕自動定義他們的角色。
所以用戶點擊按鈕「A」註冊時它們將被分配的角色「A」,並且當代理「B」寄存器它們被自動分配的角色「B」。我想避免讓變量阻止人們重寫選擇。
我創造MVC4一個網站,這是我第一次使用MVC在.NET中,我sussed出記錄和登記。我有這種情況:MVC4 C#會員註冊角色上的按鈕點擊
當用戶在我希望將他們引導到註冊頁面之前,他們點擊註冊部分的具體內容時,該網站具有角色'A'和角色'B'部分,我將他們引導至註冊頁面。不過,我希望註冊頁面根據他們點擊的註冊按鈕自動定義他們的角色。
所以用戶點擊按鈕「A」註冊時它們將被分配的角色「A」,並且當代理「B」寄存器它們被自動分配的角色「B」。我想避免讓變量阻止人們重寫選擇。
有很多的方法可以如何實現它。例如:
添加bool IsAgentA
您RegisterModel class
在AccountModels.cs
public class RegisterModel
{
[Required]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[DataType(DataType.Password)]
public string ConfirmPassword { get; set; }
public bool IsAgentA {get; set;}
}
添加單選按鈕在你Registration View
IsAgentA
(是 - 代理A,否 - 劑B)。我不會在這裏寫。
這修改Register ActionResult
在AccountController
,具體如下:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
try
{
WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
WebSecurity.Login(model.UserName, model.Password);
if (model.IsAgentA)
{
Roles.AddUserToRole(model.UserName, "Role A"); // user in role A
}
else
{
Roles.AddUserToRole(model.UserName, "Role B"); // user in role B
}
return RedirectToAction("Index", "Home");
}
catch (MembershipCreateUserException e)
{
ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
}
}
return View(model);
}
謝謝你的提示,雖然這是一個答案,我想這樣做自主因此用戶沒有選擇。這是我花了很長時間研究一件事的場景之一。在週末休息之後,我看到了光明。基本上,用戶點擊有部分,它前進到所述控制器,其然後設置會話變量寄存器按鈕,BOBS叔叔:) –
你有什麼迄今所做?你需要提供一些代碼。 – ataravati