Asp.net Mvc Framework 九 (View与Controller交互)
|
本节示例MVC9.rar下载:http://file.ddvip.com/2008_10/1225163054_ddvip_5588.rar 这一回为避免写第八节时那种情况再次出现,我改用Wps写了,如果复制过去格式有问题讲大家见谅 --邹健 本节所有示例都是讲解登录提交表单的过程 为了本课能更好讲解我们先建立一个账号的Model namespace MvcApplication4.Models 一. 使用我们Asp时代的老朋友 我们建立一个HomeController,之后在其中加一个Index的Action public void Index(){ 是用于显示Index这个View的(Index.aspx): 这是提交表单的 < form method ="post" action =" <% =Url.Action("save") %> "> 大家可以看到在这个View中form的Action为save public void save(){ 最后我们将结果显示在Result.aspx这个View中: 这是用于接收结果的 <% = ViewData [ "username" ] %> <% = ViewData [ "password" ] %> 大家都看到了,我们在Save中使用了我们的老朋友Request.Form来接收了表单 二. 其实Asp.netMVC为我们提供了更好的方法 是什么方法呢? 那就是我觉得不错的一方法 ReadFromRequest 它可以接收Form和QueryString 看以下save这个Action的代码 public void save(){ 可以实现上面一样的功能 三. 我们可以用"参数" 前面我们提到了参数来接收的功能 public void save( string username, string password){ 一切OK 在Monorail中我们有这样的功能 publicvoidsave([DataBind("account")]Accountaccount);可以实现将一个对象与表单绑定 当然Asp.netMVC中也应该有 我们将View改成: 这是提交表单的 < form method ="post" action =" <% =Url.Action("save") %> "> 而Save这个Action中写如下代码: public void save(){ 呵呵,仍然可以输 BindingHelperExtensions .UpdateFrom 让我们将从表单中以对象方式传递着数据 当然这个对象如果绑定的为Dlinq的对象就更加方便应用了 也可以通过这种方式绑定 View: 这是提交表单的 < form method ="post" action =" <% =Url.Action("save") %> ">
public void save(){ 也可以实现 这里用了 BindingHelperExtensions .UpdateFrom(user,Request.Form); 来实现绑定 这个用于表单中只有一个对象的情况,前一个则可适用于多个对象在同一表彰中的情况 |
