Asp.NET MVC 传值原理

狂奔小蜗牛 2012-06-27 11:29:56
在ASp.NET
在点击显示集合页面的时候 点击 Edit 跳转至 以下页面
这个是页面代码 <body>
<% using (Html.BeginForm()) {%>
<%= Html.ValidationSummary(true) %>

<fieldset>
<legend>Fields</legend>

<div class="editor-label">
<%= Html.LabelFor(model => model.id) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.id) %>
<%= Html.ValidationMessageFor(model => model.id) %>

</div>

<div class="editor-label">
<%= Html.LabelFor(model => model.Name) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.Name) %>
<%= Html.ValidationMessageFor(model => model.Name) %>
</div>

<p>
<input type="submit" value="Save" />
</p>
</fieldset>

<% } %>

<div>
<%= Html.ActionLink("Back to List", "Index") %>
</div>

在编辑之后 点击 Save的时候 Controller下的edit代码如下

[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
try
{
// TODO: Add update logic here
moder mo = new moder();
UpdateModel(mo, collection.ToValueProvider());
if (moderTest.update(mo))
{
return RedirectToAction("Index");
}
else
{
return RedirectToAction("Index");
}


}
catch
{
return View();
}
}

例如 随意一条的 ID=7 此时 edit方法中的idie 方法中 的id为 7 并且collection 也有了数据
我是想知道 这块 id 和collection 的数据是通过什么原理传过来的。
顺便给我推荐几本 Asp.MVC 经典书籍小弟不胜感激涕零。

...全文
288 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonwrite 2012-06-29
  • 打赏
  • 举报
回复
http://www.cnblogs.com/leoo2sk/archive/2008/10/27/1320285.html

书是有一本叫 英语好的可以先看原版
http://www.360doc.com/content/11/0826/14/7543245_143435352.shtml
但中文版要8月份才出
狂奔小蜗牛 2012-06-29
  • 打赏
  • 举报
回复
都多说说哈!
狂奔小蜗牛 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

首先,Web 浏览器向服务器发送一条URL 请求,如http://HostName/ControllerName/ActionName/Parameters。

其次,请求被ASP. NET MVC 的路由映射系统获取,并按照映射规则, 解析出 ControllerName,ActionName 和Parameters;

再次,到Controllers 目录下找到Con……
[/Quote]

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{param}", // 带有参数的 URL
new { controller = "TestModer", action = "Index", param ="" } // 参数默认值
);

}
我的这个 parm 是空的什么都没写,你说的那种执行机制我了解,但是 直接点save 时候 表达会发之后edit中的这个ID值是那块来的,还有那个 collection的值 这个是 疑惑点。
  • 打赏
  • 举报
回复
首先,Web 浏览器向服务器发送一条URL 请求,如http://HostName/ControllerName/ActionName/Parameters。

其次,请求被ASP. NET MVC 的路由映射系统获取,并按照映射规则, 解析出 ControllerName,ActionName 和Parameters;

再次,到Controllers 目录下找到ControllerNameController.cs 类,并在这个类中找到与 ActionName 同名的方法,将Parameters 作为参数传给这个方法;

最后,Action 方法开始执行,完成后将返回相应视图

62,046

社区成员

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

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

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

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