MVC學習第一章

因爲本身也是才學習Web開發,可能寫的東西比較簡單,有興趣的能夠看,大牛跟大蝦能夠幫忙指出問題,可能裏面專業術語不會太多,畢竟本身也不懂,還請見諒。
一、直接打開VS2010,建立一個新的MVC框架應用程序。
二、建立完成後,系統基本會將基礎工做都作完了,自動生成文件,目錄以下:
三、建立數據模型,在Models文件夾處,右擊添加「新建項」,設置實體數據模型名稱爲「NorthWind.edmx」,按照提示一步一步往下,此處我只用一張表來作例子「Categories」。

四、更改控制器,添加Create、Edit、Detail幾個方法。
namespace MvcApplication1.Controllers
{
        [HandleError]
         public class HomeController : Controller
        {
                NorthwindEntities northWind = new NorthwindEntities();

                 public ActionResult Index()
                {
                        var models = northWind.Categories.ToList();

                         return View(models);
                }

                [AcceptVerbs(HttpVerbs.Get)]
                 public ActionResult Edit( int id)
                {
                        var models = northWind.Categories.First(c => c.CategoryID == id);
                         return View(models);
                }

                [AcceptVerbs(HttpVerbs.Post)]
                 public ActionResult Edit( int categoryId, FormCollection form)
                {
                        var models = northWind.Categories.First(c => c.CategoryID == categoryId);
                        UpdateModel(models, new[] { "CategoryName", "Description" });
                        northWind.SaveChanges();

                         return RedirectToAction( "Index");
                }

                [AcceptVerbs(HttpVerbs.Get)]
                 public ActionResult Detail( int id)
                {
                        var models = northWind.Categories.First(c => c.CategoryID == id);
                         return View(models);
                }

                [AcceptVerbs(HttpVerbs.Get)]
                 public ActionResult Create()
                {
                        Categories category = new Categories();
                         return View(category);
                }

                [AcceptVerbs(HttpVerbs.Post)]
                 public ActionResult Create( int categoryId, FormCollection form)
                {
                        var models = northWind.Categories.FirstOrDefault(c => c.CategoryID == categoryId);

                         if (models== null)
                        {
                                Categories category = new Categories();
                                UpdateModel(category, new[] { "CategoryName", "Description" });
                                northWind.AddToCategories(category);
                                northWind.SaveChanges();
                                 return RedirectToAction( "Index");

                        }
                         else
                        {
                                 return RedirectToAction( "Create");
                        }                        
                }

                 public ActionResult About()
                {
                         return View();
                }
        }
}
五、建立視圖,在相應的控制器處,直接右擊,添加視圖,各項選擇都以下圖。這邊有個主意的地方就是,我一開始的時候選擇強類型視圖,怎麼選擇都是沒有Categories,後來經過網上查詢,發現是本身沒有先編譯生成。
六、在視圖中,本身也嘗試着進行簡單的修改,固然不是CSS跟JS這些啦,畢竟還沒到那層次。主要仍是關鍵字的顯示跟隱藏。
@Html.HiddenFor(model => model.CategoryID)
七、測試了 ValidationMessageFor與 ValidationMessage。
@Html.ValidationMessageFor(model => model.Description)
@Html.ValidationMessage("CategoryName ","*")
這兩個的效果你們能夠本身測試下。
八、最終效果。
九、遺留問題:
   最後還有2個問題在學習的時候未解決。a、路由:系統自動建立是MapRoute,add的方法我沒試過;b、就是在編輯的時候若是我內容出現<>這種字符,就會報錯。若是<>連寫就是會被自動解析成" &lt;&gt; ",若是是<字段值>,就會報錯"

從客戶端(Description="<Test>")中檢測到有潛在危險的 Request.Form 值。

"。
相關文章
相關標籤/搜索