MVC实现简单注册页面_html/css_WEB-ITnose
刚开始学习MVC,从Webform转过来确实有点费劲好多东东都已经换了一种形式,也在不断的适应这,下面通过讲解一个简单的注册页面来熟悉下MVC中常用的操作。
Model中的User类如下
<span style="font-family:SimSun;font-size:18px;">public class User { //用号登录姓名 public string LoginName { get; set; } //用户密码 public string Password { get; set; } //用户的电子邮件 public string Email { get; set; } //用户的手机号码 public string Phone { get; set; } }</span>
MVC最大的好处就是分离关注点,意思就是我们在开发过程中不用管页面是什么东东,可以先开发业务逻辑,下面是RegisterController中的操作
<span style="font-family:SimSun;font-size:18px;">public class registerController : Controller { //注册完的信息显示 public ActionResult Create(FormCollection form) { User user = new User() { //两种获取方法,一种通过request,一种通过formcollection类 LoginName=form["name"], // LoginName = Request.Form["loginName"], Password = Request.Form["password"], Phone = Request.Form["phone"], Email = Request.Form["email"] }; //通过viewdata向界面传递值 ViewData["UserInfo"] = user; return View(); } //注册的方法 public ActionResult Reg() { //字典类型的键值对 IDictionary<int, string> star = new Dictionary<int, string>(); //添加值 star.Add(1, "白羊座"); star.Add(2, "金牛座"); star.Add(3, "双子座"); star.Add(4, "巨蟹座"); star.Add(5, "狮子座"); star.Add(6, "处女座"); star.Add(7, "天秤座"); star.Add(8, "天蝎座"); star.Add(9, "射手座"); star.Add(10, "摩羯座"); star.Add(11, "水瓶座"); star.Add(12, "双鱼座"); //为列表赋值 SelectList starList = new SelectList(star, "key", "value"); //向界面传递值 ViewData["star"] = starList; return View(); } }</span>
有了以上的业务逻辑我们就可以实现页面的操作了。
注册页面
<span style="font-family:SimSun;font-size:18px;"><%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %><!DOCTYPE html><html><head runat="server"> <meta name="viewport" content="width=device-width" /> <title>Reg</title></head><body> <div id="register"><% using (Html.BeginForm("Create", "Register", FormMethod.Post)) { %> <table border="0" width="500"> <thead><tr><td colspan="2"> <h3 id="用户注册">用户注册</h3> </td></tr></thead><tbody> <tr><td class="td_left">登录名:</td> <td><%=Html.TextBox("loginName") %></td> </tr><tr><td class="td_left">密码:</td> <td><%=Html.Password("password") %></td> </tr><tr><td class="td_left">确认密码:</td> <td><%=Html.Password("password2") %></td> </tr><tr><td class="td_left">星座:</td> <td><%=Html.DropDownList("star") %></td> </tr><tr><td class="td_left">性别:</td> <td><%=Html.RadioButton("sex", true, new { style = "border:0; width:30px;" })%>男 <%=Html.RadioButton("sex", false, new { style = "border:0; width:30px;" })%>女</td> </tr><tr><td class="td_left">已婚:</td> <td><%=Html.CheckBox("married", false, new { style = "border:0; width:30px;" })%></td> </tr><tr><td class="td_left">安全邮箱:</td> <td><%=Html.TextBox("email") %>输入邮箱</td> </tr><tr><td class="td_left">联系电话:</td> <td><%=Html.TextBox("phone") %>输入联系电话</td> </tr><tr> <td colspan="2" align="center"><br /><button type="submit"> 提交 </button><br /><br /></td> </tr> </tbody> </table><%} %></div></body></html></span>
详细信息页面如下
<span style="font-family:SimSun;font-size:18px;"><%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %><!DOCTYPE html><html><head runat="server"> <meta name="viewport" content="width=device-width" /> <title>Create</title></head><body> <div id="register"> <h2 id="用户注册">用户注册</h2> <% loginMvc.Models.User user = ViewData["UserInfo"] as loginMvc.Models.User; %> 你刚才提交的信息如下:<br /> 登 录 名:<%= user.LoginName %><br /> 登录密码:<%= "******" %><br /> 安全邮箱:<%= user.Email %><br /> 联系电话:<%= user.Phone %><br /> <br /> <button>确定注册</button> <a href="/Register">返回重填</a> <br /><br /></div></body></html></span>
案例分析
在上述例子用到了一下几个关键点,下面来分析一下。
1.获取传递值
在上述例子中我们应用两种方法来获取传递的值,分别是FormCollection类和Request对象,这两种用法相同。
2.页面跳转
用到了HtmlHelper类的BeginForm操作,例如Html.BeginForm("Create", "Register", FormMethod.Post),代表以post的方式当页面提交的时候,传递到Register控制器中的Create方法中。该方法参数还有很多,可以自己研究。
3.viewdata向页面返回值,viewdata就好比一个容器,可以装载任何东西,上述实例中就是通过viewdata来传递的。比如在控制器中 ViewData["UserInfo"] = user;把user对象装载到容器中,然后通过页面上的login.models.user user= ViewData["UserInfo"] as loginMvc.Models.User来为页面上的user赋值,需要注意的是,在此需要进行强制转换。
4.viewdata和TempData的区别
ViewData属性是一个ViewDataDictionary类,可用于存储任意对象的数据类型,但存储的键值必须为字符串ViewData有一个特性,就是只会存在于当前的HTTP请求中,而不想session一样,可以将数据带到下一个HTTP请求。与ViewData一样,都属于字典类,不过他中的数据只是一次网页的请求
??

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

anexampleStartingtaginhtmlis, whithbeginsaparagraph.startingtagsareessentialinhtmlastheyinitiate rements, definetheirtypes, andarecrucialforstructurituringwebpages 및 smanstlingthedom.

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...

이미지를 클릭 한 후 주변 이미지를 산란 및 확대하는 효과를 얻으려면 많은 웹 디자인이 대화식 효과를 달성해야합니다. 특정 이미지를 클릭하여 주변을 만들 수 있습니다 ...

웹 주석 기능에 대한 Y 축 위치 적응 알고리즘이 기사는 Word 문서와 유사한 주석 기능을 구현하는 방법, 특히 주석 간격을 다루는 방법을 모색합니다 ...

HTML, CSS 및 JavaScript는 웹 개발의 세 가지 기둥입니다. 1. HTML은 웹 페이지 구조를 정의하고 등과 같은 태그를 사용합니다. 2. CSS는 색상, 글꼴 크기 등과 같은 선택기 및 속성을 사용하여 웹 페이지 스타일을 제어합니다.
