我正在制作一个邀请系统,用户在注册网站时可以指定一个用户进行评审。
现有用户还可以发送邀请。这位朋友会收到一个链接:
http://www.foo.com/account/register?referal=sandyUser216
如何获取该值sandyUser216
并将其作为文本输入框内的值?
我正在使用C#和MVC3。
答案 0 :(得分:1)
检查Request.QueryString
。
<input type="text" value="@Request.QueryString["referal"]" />
或者将其放在Model属性中,而不是将其放在视图中。
答案 1 :(得分:1)
作为ASP.NET MVC应用程序中的始终,您首先要编写一个代表视图中包含的信息的视图模型:
public class RegisterViewModel
{
[Required]
public string Referal { get; set; }
}
然后你编写控制器动作分别显示注册表并处理它:
public ActionResult Register(RegisterViewModel model)
{
return View(model);
}
[HttpPost]
[ActionName("Register")]
public ActionResult ProcessRegistration(RegisterViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
// TODO: perform the registration
return RedirectToAction("success");
}
最后你写了相应的强类型视图:
@model RegisterViewModel
@using (Html.BeginForm())
{
@Html.LabelFor(x => x.Referal)
@Html.EditorFor(x => x.Referal)
@Html.ValidationMessageFor(x => x.Referal)
<button type="submit">Register</button>
}
现在剩下的只是导航到/account/register?referal=sandyUser216
。
你已经完成了整个MVC模式。如果你跳过这3个字母中的任何一个,这意味着你正在错误地进行ASP.NET MVC。