zoukankan      html  css  js  c++  java
  • asp.net MVC学习笔记三(第一个表单提交,第一个页面跳转及MVC中的ViewState与Session)

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

    代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

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

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

    代码
    <%@ 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接收数据并页面跳转。

    代码
    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

    代码
    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();
            }
        }
    }
    代码
    <%@ 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>

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

  • 相关阅读:
    NOIp2018集训test-10-17 (bike day3)
    NOIp2018集训test-10-16 (bike day2)
    django简介中
    django简介上
    bootstrap
    jQuery简介
    js完整篇
    css完结
    css三
    前端二与css开篇
  • 原文地址:https://www.cnblogs.com/greatverve/p/1732831.html
Copyright © 2011-2022 走看看