ホームページ  >  記事  >  ウェブフロントエンド  >  MVC は簡単な登録を実装します page_html/css_WEB-ITnose

MVC は簡単な登録を実装します page_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 11:53:001702ブラウズ

私は MVC を学び始めたばかりですが、多くのことがすでに別のフォームに変更されており、常にそれに適応しているところです。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>用户注册</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>

詳細情報ページは以下の通り


事例分析

いくつかの重要なポイントが使用されます上記の例を以下で分析してみましょう。

1. 渡された値を取得する

上の例では、FormCollection クラスと Request オブジェクトという 2 つのメソッドを使用して、渡された値を取得します。これら 2 つの使用法は同じです。

2. ページジャンプ

Html.BeginForm("Create", "Register", FormMethod.Post) など、HtmlHelper クラスの BeginForm オペレーションが使用されます。これは、ページが投稿形式で送信されるときを意味します。 、コンテナーの Create メソッドの Register コントロールに渡されます。このメソッドには多くのパラメーターがあるため、自分で調べることができます。

3. Viewdata はページに値を返します。上記の例では、Viewdata は viewdata を介して渡されます。たとえば、コントローラー内で ViewData["UserInfo"] = user; はユーザー オブジェクトをコンテナーにロードし、ユーザーへのページで login.models.user user= ViewData["UserInfo"] を使用します。割り当ての場合、ここでは強制変換が必要であることに注意してください。

4. viewdata と TempData の違い

ViewData プロパティは、任意のオブジェクトのデータ型を格納するために使用できる ViewDataDictionary クラスですが、格納されるキー値は文字列のみである必要があるという特性があります。現在の HTTP リクエスト内に存在するデータは、セッションと同様に次の HTTP リクエストに引き継がれます。 ViewData と同様に、どちらも辞書クラスに属しますが、その中のデータは単なる Web ページへのリクエストです



??

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。