MVC3:为什么页面Post后action可以获取到参数。

Zoezs 2011-09-16 12:27:34
页面代码:

@model MvcMovie.Models.LogOnModel

@{
ViewBag.Title = "Log On";
}

<h2>Log On</h2>
<p>
Please enter your user name and password. @Html.ActionLink("Register", "Register") if you don't have an account.
</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, "Login was unsuccessful. Please correct the errors and try again.")

@using (Html.BeginForm()) {
<div>
<fieldset>
<legend>Account Information</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="Log On" />
</p>
</fieldset>
</div>
}



后台代码:

[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("", "The user name or password provided is incorrect.");
}
}

// If we got this far, something failed, redisplay form
return View(model);
}


这个action的2个参数是怎么获取到的啊?
...全文
1109 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
flybox0384 2013-11-12
  • 打赏
  • 举报
回复
http://blog.csdn.net/lutinghuan/article/details/8154523
imfor 2011-09-16
  • 打赏
  • 举报
回复
相当于request["name"] 如果有跟参数 或者model里的值的name匹配的话会自动把值赋给它
Cosmo 2011-09-16
  • 打赏
  • 举报
回复
在java中form表单提交时,我们可以在webconfig中指定这个表单提交到哪个action中
wiki14 2011-09-16
  • 打赏
  • 举报
回复
Controller 处理流程:

  1. 页面处理流程:
  发送请求->UrlRoutingModule捕获请求–> MvcRouteHandler.GetHttpHandler()–> MvcHandler.ProcessRequest()
  2.MvcHandler.ProcessRequest()处理流程:
  使用工厂方法获取具体的Controller–>Controller.Execute()–>释放Controller对象
  3.Controller.Execute()处理流程:
  获取Action–>调用Action方法获取返回的ActionResult–>调用ActionResult.ExecuteResult()方法
  4.ActionResult.ExecuteResult()处理流程:
  获取IView对象->根据IView对象中的页面路径获取Page类->调用IView.RenderView()方法(内部调用Page.RenderView方法)
wiki14 2011-09-16
  • 打赏
  • 举报
回复
你要理解Controller是做什么的,提供用于响应对 MVC 网站所进行的 HTTP 请求的方法。
从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。

Controller的一个重要作用就是负责将获取Model数据,将Model传递给View对象。
通知View对象,获取数据、显示数据或进行自己的操作。

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧