asp.net MVC学习笔记三(第一个表单提交,第一个页面跳转及MVC中的ViewState与Session)
用惯WebForm的可能会忘掉了传统的表单提交方式,jsp,asp,php都是这样。MVC是返璞归真了。
用到的Model

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提交。

<!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.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.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: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<a href="/user/userview" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
</p>
</asp:Content>
Post Comment
スーパーコピーブランド激安通販専門店!
世界一流のスーパーコピーブランド時計、バッグ、財布、アクセサリ最新入荷!
ブランドコピー、ブランド偽物、ルイヴィトンコピー、 ロレックスコピー、シャネルコピー、グッチコピー、エルメスコピー、 ボッテガ?ヴェネタコピー、 バーバリーコピー、ミュウミュウコピー、トリーバーチコピー、バレンシアガコピー、ディオールコピー、ブルガリコピー、ブラダコピー、 ドルチェ&ガッバーナコピー、オメガコピー、フランク ミュラーコピー、gagaコピー。
私達は長年の実体商店の販売経験を持って、先進とプロの技術を持って、
高品質のスーパーコピー時計づくりに 取り組んでいます。
最高品質のロレックス時計コピー、カルティエ時計コピー、IWC時計コピー、
ブライトリング時計コピー、パネライ時計コピー激安販売中
商品の数量は多い、品質はよい。海外直営店直接買い付け
商品の数量は多い、品質はよい.海外直営店直接買い付け!
商品は全てよい材料と優れた品質で作ります。
高質な製品を驚きの低価格で提供して,安心、迅速、確実にお客様の手元にお届け致します。
ぜひご来店くださいませ。
※ 2018年注文割引開催中,全部の商品割引10%
※ 在庫情報随時更新!
※ 100%品質を保証する。
※ 送料は無料です(日本全国)!
※ 経営方針: 品質を重視、納期も厳守、信用第一!税関の没収する商品は再度無料にして発送します!
URL:}