91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

學習Asp.net MVC-牛刀小試(1)

發布時間:2020-07-14 02:07:20 來源:網絡 閱讀:637 作者:海莉zhe 欄目:編程語言

      在上一篇的文章中,我們大概理解MVC 的模式后,我們應該是從基礎入手:

    1.我們先理解一下程序的入口 

    使用了URL重寫. ASP.NET中叫做UrlRouting,對應的程序集是System.Web.Routing, 打開項目的Global.asax.cs文件, 會找到我們建立的頁面重寫規則

 public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Users", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            System.Data.Entity.Database.SetInitializer(new MvcApplication1.Models.UsersInitializer());
            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);
        }

       2.查找 Controller  

     

     在Controllers文件夾下我們可以找到UsersController.cs, 這里使用了一個約定, 就是如果URL中獲取到的Controller名字是Users, 則他的Controller類名就是UsersController. 在URL中的名字后加上”Controller”.

實例中Controller都放在Controllers文件夾, 所以我們可以按照命名約定很容易就可以找到HomeController類

       3.查找 Action 

一個Controller可以包含多個Action, MVC模式中Controller角色的具體實現邏輯都是在Action中的.

因為我們的Action是Index, 所以自然就要調用Index()方法.這里將"Webcome to ASP.NET MVC!",

private UsersDbContext db = new UsersDbContext();

        //
        // GET: /Users/

        public ViewResult Index()
        {
            return View(db.Users.ToList());
        }

        //
        // GET: /Users/Details/5

        public ViewResult Details(int id)
        {
            Users users = db.Users.Find(id);
            return View(users);
        }

        //
        // GET: /Users/Create

        public ActionResult Create()
        {
            return View();
        } 

        //
        // POST: /Users/Create

        [HttpPost]
        public ActionResult Create(Users users)
        {
            if (ModelState.IsValid)
            {
                db.Users.Add(users);
                db.SaveChanges();
                return RedirectToAction("Index");  
            }

            return View(users);
        }
        
        //
        // GET: /Users/Edit/5
 
        public ActionResult Edit(int id)
        {
            Users users = db.Users.Find(id);
            return View(users);
        }

        //
        // POST: /Users/Edit/5

        [HttpPost]
        public ActionResult Edit(Users users)
        {
            if (ModelState.IsValid)
            {
                db.Entry(users).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(users);
        }

        //
        // GET: /Users/Delete/5
 
        public ActionResult Delete(int id)
        {
            Users users = db.Users.Find(id);
            return View(users);
        }

        //
        // POST: /Users/Delete/5

        [HttpPost, ActionName("Delete")]
        public ActionResult DeleteConfirmed(int id)
        {            
            Users users = db.Users.Find(id);
            db.Users.Remove(users);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        protected override void Dispose(bool disposing)
        {
            db.Dispose();
            base.Dispose(disposing);
        }

       4.查找view 視圖 

      View方法中可以帶一個名字, 這個名字就是View的名字.如果把index改成Edit,那么訪問/Users/Edit就會跳轉到Edit頁!

           5. 頁面展示

             接下來ViewEngine即頁面引擎會將aspx中的HTML部分以及上面的數據部分和在一起返回給瀏覽器.

關于View對象我注意到此頁面是繼承自System.Web.Mvc.ViewPage而不是直接繼承自System.Web.UI.Page, 而這個ViewData對象就是ViewPage中的一個屬性. 這里的ViewData一定是頁面級別的,當頁面編譯完畢這個對象就會被注銷(HTTP是無狀態的協議,每次請求其實都是生成一個新的ViewPage對象).

@model IEnumerable<MvcApplication1.Models.Users>

@{
    ViewBag.Title = "Index";
}

<h3>Index</h3>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table>
    <tr>
        <th>
            UserID
        </th>
        <th>
            UserName
        </th>
        <th>
            Password
        </th>
        <th>
            RegTime
        </th>
        <th>
            IsTest
        </th>
        <th>
            IsEnable
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.UserID)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.UserName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Password)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.RegTime)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.IsTest)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.IsEnable)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
            @Html.ActionLink("Details", "Details", new { id=item.ID }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.ID })
        </td>
    </tr>
}

</table>

效果圖:

學習Asp.net MVC-牛刀小試(1)



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青龙| 大庆市| 自贡市| 平泉县| 北川| 惠州市| 临朐县| 凤翔县| 南岸区| 上犹县| 长武县| 青阳县| 青铜峡市| 嘉鱼县| 大宁县| 周至县| 隆化县| 平阴县| 淅川县| 公安县| 吉隆县| 曲靖市| 湾仔区| 江川县| 大悟县| 海林市| 西藏| 桂平市| 镇赉县| 崇文区| 遵义市| 乐业县| 陈巴尔虎旗| 温泉县| 渝北区| 梨树县| 裕民县| 东港市| 桑植县| 石柱| 肇源县|