MVCは簡単な登録ページを実現する

4553 ワード


MVCの勉强を始めたばかりで、Webformから転向するのは确かに少し骨が折れる.多くの东东はすでに1つの形式を変えて、绝えずこれに适応している.以下は简単な登录ページを说明することでMVCでよく使われる操作を熟知する.
ModelのUserクラスは次のとおりです.
 
public class User
    {
        //      
        public string LoginName { get; set; }
        //    
        public string Password { get; set; }
        //       
        public string Email { get; set; }
        //       
        public string Phone { get; set; }
    }
MVCの最大のメリットは、注目点を分離することです.つまり、開発中にページが何であるかにかかわらず、ビジネスロジックを開発することができます.次はRegisterControllerの操作です.
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 star = new Dictionary();
            //   
            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();
        }
    }
以上のビジネスロジックがあれば、ページの操作を実現することができます.
登録ページ
 
" %>





    
    Reg


  

ユーザー




 
詳細ページは次のとおりです.
" %>





    
    Create


   

ユーザー









ケーススタディ
上記の例ではいくつかのキーを用いたが,以下で分析する.
 1.転送値の取得
上記の例では、FormCollectionクラスとRequestオブジェクトの2つの方法を適用して、同じ使い方で伝達された値を取得します.
 2.ページジャンプ
例えば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プロパティは、任意のオブジェクトのデータ型を格納するために使用できるViewData Dictionaryクラスですが、格納されているキー値は文字列ViewDataの特性でなければなりません.現在のHTTPリクエストにのみ存在し、セッションのように次のHTTPリクエストにデータを持ち込むことができます.ViewDataと同様、辞書クラスに属していますが、彼のデータはWebページのリクエストにすぎません.