asp.net MVC学习笔记三(第一个表单提交,第一个页面跳转及MVC中的ViewState与Session)

用惯WebForm的可能会忘掉了传统的表单提交方式,jsp,asp,php都是这样。MVC是返璞归真了。
用到的Model

asp.net MVC学习笔记三(第一个表单提交,第一个页面跳转及MVC中的ViewState与Session) 代码
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;

namespace  FirstMVC.Models
{
    
///   <summary>
    
///  用户实体类
    
///   </summary>
     public   class  UserInfoModel
    {
        
public   string  UserName {  get set ; }
        
public   string  Password {  get set ; }
    }
}

 

用到的View,这里指定表单提交的路径,向哪个Action提交。

asp.net MVC学习笔记三(第一个表单提交,第一个页面跳转及MVC中的ViewState与Session) 代码
<% @ Page Language = " C# "  Inherits = " System.Web.Mvc.ViewPage "   %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > UserView </ title >
</ head >
< body >
    
< div >
    
< p >
        ViewState
<% = ViewData[ " ViewState " %> < br  />
        Session
<% = TempData[ " Session " %>
    
</ p >
    
        
<% -- 这里定义表单提交向哪里。跟传统的模式一样了。controller名字与action名字不区分大小写 -- %>
        
<% using(Html.BeginRouteForm( new  {controller  =   " user " ,action = " process " })){  %>
        
<% -- 表单数据,这里命名也不区分大小写 -- %>
        
< p >< label > 密码1: </ label > <% = Html.Password( " a.password " %> </ p >
        
< p >< label > 用户名1: </ label > <% = Html.TextBox( " a.username " %> </ p >
        
        
< p >< label > 密码2: </ label > <% = Html.Password( " b.password " %> </ p >
        
< p >< label > 用户名2: </ label > <% = Html.TextBox( " b.username " %> </ p >
        
< p >< input  type ="submit"   /></ p >
        
<% %>
    
</ div >
</ body >
</ html >

 

用到的Controller,这里的Process Action接收数据并页面跳转。

asp.net MVC学习笔记三(第一个表单提交,第一个页面跳转及MVC中的ViewState与Session) 代码
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.Mvc;

using  FirstMVC.Models;

namespace  FirstMVC.Controllers
{
    
public   class  UserController : Controller
    {
        
///   <summary>
        
///  辅助判断的方法
        
///   </summary>
        
///   <param name="userName"></param>
        
///   <param name="password"></param>
        
///   <returns></returns>
         bool  AreEquals( string  userName,  string  password)
        {
            
return  (userName.ToLower()  ==   " admin "   &&  password.ToLower()  ==   " admin123 " );
        }
        
///   <summary>
        
///  接收post提交的数据
        
///   </summary>
        
///   <param name="a"></param>
        
///   <param name="b"></param>
        
///   <returns></returns>
         public  ActionResult Process(UserInfoModel a, UserInfoModel b)
        {
            
if  (AreEquals(a.UserName, a.Password)  &&  AreEquals(b.UserName, b.Password))
                
return  Content( " 登录成功 " );
            
else
                
return  Redirect( " http://www.0379zd.com " );

        }
        
//
        
//  GET: /User/

        
public  ActionResult UserView()
        {
            
// ViewData[""]相当于ViewState[""]
            ViewData[ " ViewState " =   " MVC ViewState " ;
            
return  View();
        }

    }
}

 

首页登录的时候,设置TempData

asp.net MVC学习笔记三(第一个表单提交,第一个页面跳转及MVC中的ViewState与Session) 代码
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.Mvc;

namespace  FirstMVC.Controllers
{
    [HandleError]
    
public   class  HomeController : Controller
    {
        
public  ActionResult Index()
        {
            ViewData[
" Message " =   " Welcome to ASP.NET MVC! " ;
            
// TempData[""]相当于Session[""]
            TempData[ " Session " =   " MVC Session " ;

            
return  View();
        }

        
public  ActionResult About()
        {
            
return  View();
        }
    }
}

 

 

asp.net MVC学习笔记三(第一个表单提交,第一个页面跳转及MVC中的ViewState与Session) 代码
<% @ Page Language = " C# "  MasterPageFile = " ~/Views/Shared/Site.Master "  Inherits = " System.Web.Mvc.ViewPage "   %>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="TitleContent"  runat ="server" >
    Home Page
</ asp:Content >

< asp:Content  ID ="Content2"  ContentPlaceHolderID ="MainContent"  runat ="server" >
    
< h2 > <% =  Html.Encode(ViewData[ " Message " ])  %> </ h2 >
    
< p >
        第一个次表单提交,第一个页面跳转及MVC中的ViewState与Session
< href ="/user/userview"  title ="ASP.NET MVC Website" > http://asp.net/mvc </ a > .
    
</ p >
</ asp:Content >

本文源码下载:http://files.cnblogs.com/greatverve/FirstMVC3.rar

你可能感兴趣的:(asp.net)