我正在尝试创建一个邀请系统,如果我的解决方案甚至对我自己来说看起来很奇怪,那么肯定有问题。
用户通过调用以下URL来发出邀请:
我需要将邀请GUID传递给注册操作。
在注册页面使用隐藏的输入框,并通过POST方法将其传回注册页面。
用户通过调用以下URL来发出邀请:
site.com/Account/Invitation/invitationGUID
public ActionResult Invitation(Guid invitationGUID)
{
//Check for the existence of the invitation id
if(true)
return RedirectToAction("Account","Register")
return View("InvalidInvite");
}
我需要将邀请GUID传递给注册操作。
public ActionResult Register()
{
//this is the registration form
return View();
}
我仍然需要在提交时获得邀请GUID,以保存这个信息。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register(string email, string password, string confirmPassword,
string firstName, string lastName, string cep)
{
//register user
return View();
}
我应该怎么样传递这些信息呢?
我尝试从邀请页面将数据传递到注册页面。
return RedirectToAction("Account","Register",invitationGUID)
使用邀请GUID调用注册视图
return View("Register",invitationGUID);
在注册页面使用隐藏的输入框,并通过POST方法将其传回注册页面。
<%= Html.Hidden("invitationGUID",(Guid)Model %>
我觉得这个代码太复杂了,而且可能违反了关于视图/控制器隔离的很多好的实践。
那么我应该只是在邀请页面复制注册页面的代码吗?
现在我倾向于只是复制注册POST操作到邀请POST中。
你有什么不同的想法吗?