我看到AccountController.cs中 [HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "提供的用户名或密码不正确。");
}
} // 如果我们进行到这一步时某个地方出错,则重新显示表单
return View(model);
}
方法中,参数有2个LogOnModel model, string returnUrl
可我在@model MvcApplication1.Models.LogOnModel@{
ViewBag.Title = "登录";
}<h2>登录</h2>
<p>
请输入用户名和密码。如果您没有帐户,请 @Html.ActionLink("注册", "Register")。
</p><script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>@Html.ValidationSummary(true, "登录不成功。请更正错误并重试。")@using (Html.BeginForm()) {
<div>
<fieldset>
<legend>帐户信息</legend> <div class="editor-label">
@Html.LabelFor(m => m.UserName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</div> <div class="editor-label">
@Html.LabelFor(m => m.Password)
</div>
<div class="editor-field">
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</div> <div class="editor-label">
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe)
</div> <p>
<input type="submit" value="登录" />
</p>
</fieldset>
</div>
}
他的string returnUrl取到的是什么值????我不解
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "提供的用户名或密码不正确。");
}
} // 如果我们进行到这一步时某个地方出错,则重新显示表单
return View(model);
}
方法中,参数有2个LogOnModel model, string returnUrl
可我在@model MvcApplication1.Models.LogOnModel@{
ViewBag.Title = "登录";
}<h2>登录</h2>
<p>
请输入用户名和密码。如果您没有帐户,请 @Html.ActionLink("注册", "Register")。
</p><script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>@Html.ValidationSummary(true, "登录不成功。请更正错误并重试。")@using (Html.BeginForm()) {
<div>
<fieldset>
<legend>帐户信息</legend> <div class="editor-label">
@Html.LabelFor(m => m.UserName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</div> <div class="editor-label">
@Html.LabelFor(m => m.Password)
</div>
<div class="editor-field">
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</div> <div class="editor-label">
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe)
</div> <p>
<input type="submit" value="登录" />
</p>
</fieldset>
</div>
}
他的string returnUrl取到的是什么值????我不解
解决方案 »
- datatable动态添加列,然后gridview模板列绑定datatable
- 一个多行的TextBox 当动态添加内容时 怎么让它显示到最后
- 将GridView的内容输出为Excel并提供下载
- dropdownlist与数据库字段绑定后显示的小问题
- 关于引入dll文件的问题
- 为什么这样JS使用<script language=javascript src="xx"></script>不顶用?
- asp.net2.0中提供了用户注册和登录的控件,这样虽然很方便,但是安全性够不够好?
- 有问题请教高手
- 高分求助!50分!请高手救我啊!
- 谁来帮帮我:页面的布局问题?
- 赋值给DropDownList的Text,赋不上
- 使用webservice(调用或引用等任何方式)触发一个事件
以下是stackoverflow大牛给出的解答
Html.BeginForm("LogOn", "Account", new {ReturnUrl = Request.QueryString["ReturnUrl"] })
其他页面验证是否登陆,没登陆则跳转Account/LogOn?returnurl=xxx
这个时候这个参数就有作用了,你登陆之后就直接跳转到该页面