成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET MVC3 從零開始一步步構(gòu)建Web

開發(fā) 前端
微軟更新速度一直都是很快,目前MVC4.0Beta已經(jīng)發(fā)布了,而我還在剛剛起步MVC3.0。本文是MVC的基礎(chǔ),構(gòu)建最簡單的MVC項目。以后會陸續(xù)發(fā)布更新。

 微軟更新速度一直都是很快,目前MVC4.0Beta已經(jīng)發(fā)布了,而我還在剛剛起步MVC3.0。本文是MVC的基礎(chǔ),構(gòu)建最簡單的MVC項目。以后會陸續(xù)發(fā)布更新。

開發(fā)工具:VS2010+MSSQL2005,需要使用MVC3.0

環(huán)境配置

第一步:到官方網(wǎng)站下載MVC3,提供了簡體中文。先安裝 AspNetMVC3ToolsUpdateSetup.exe,然后安裝AspNetMVC3ToolsUpdateVS11Setup.exe http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=1491

 

 

第二步:新建數(shù)據(jù)庫,創(chuàng)建測試表。然后往表里insert些測試數(shù)據(jù)

  1. USE [yanComdb] 
  2. GO 
  3. /****** 對象:  Table [dbo].[NewsEntity]    腳本日期: 03/12/2012 22:03:59 ******/ 
  4. SET ANSI_NULLS ON 
  5. GO 
  6. SET QUOTED_IDENTIFIER ON 
  7. GO 
  8. CREATE TABLE [dbo].[NewsEntity]( 
  9.     [NId] [int] IDENTITY(1,1) NOT NULL, 
  10.     [Title] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL, 
  11.     [Information] [text] COLLATE Chinese_PRC_CI_AS NULL, 
  12.     [Time] [datetime] NOT NULL CONSTRAINT [DF_NewsEntity_Time]  DEFAULT (getdate()), 
  13.  CONSTRAINT [PK_NewsEntity] PRIMARY KEY CLUSTERED  
  14.     [NId] ASC 
  15. )WITH (PAD_INDEX  = OFFIGNORE_DUP_KEY = OFF) ON [PRIMARY] 
  16. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] 

構(gòu)建列表頁面

第一步:打開VS,新建選擇MVC3 web應(yīng)用程序,輸入項目名稱以及目錄

 

 

 

 

第二步:創(chuàng)建NewsEntity類,本文使用自己手寫實體類(沒有使用LinqtoSql,EF等orm)

  1. [TableAttribute("NewsEntity")]//這行很重要,因為mvc框架默認去db中找類名復(fù)數(shù)的表名 
  2.     public class NewsEntity 
  3.     { 
  4.         [Key]//設(shè)置主鍵 
  5.         public int NId { get; set; } 
  6.  
  7.         [StringLength(100)]//設(shè)置驗證信息 
  8.         [Required(ErrorMessage="標題不能為空")] 
  9.         [DisplayName("標題")] 
  10.         public string Title { get; set; } 
  11.  
  12.         [Required(ErrorMessage = "正文必須填寫")] 
  13.         [DisplayName("正文")] 
  14.         public string Information { get; set; } 
  15.  
  16.         public DateTime Time { get; set; } 
  17.     } 

第三步:配置數(shù)據(jù)庫連接字符,注意此處的name對應(yīng)下一步中創(chuàng)建的類名。

  1. <connectionStrings> 
  2. <add name="ProjectEntity" connectionString="Data Source=ip;Initial Catalog=yanComdb;Persist Security Info=True;User ID=;Password=" 
  3. providerName="System.Data.SqlClient" /> 
  4. </connectionStrings> 

第四步:創(chuàng)建ProjectEntity類,需要繼承DbContext

  1. public class ProjectEntity : DbContext 
  2.     { 
  3.         public DbSet<NewsEntity> NewsEntity { get; set; } 
  4.     } 

第五步:新建Controller,

  1. ProjectEntity PE = new ProjectEntity(); 
  2.         public ActionResult News() 
  3.         { 
  4.             try 
  5.             { 
  6.                 var list = PE.NewsEntity.ToList(); 
  7.                 return View(list); 
  8.             } 
  9.             catch (Exception e) 
  10.             { 
  11.                 throw e; 
  12.             } 
  13.         } 

第六步:在News上右鍵,新建視圖。勾選“創(chuàng)建強類型視圖”,選擇NewsEntity,支架模塊選擇List

 

 

添加后,cshtml代碼如下:

  1. @model IEnumerable<TaiQiu.Models.NewsEntity> 
  2. @{ 
  3.     ViewBag.Title = "后臺新聞管理列表"
  4.     Layout = "~/Views/Shared/_MLayout.cshtml"
  5. <h2> 
  6.     新聞列表</h2> 
  7. <p> 
  8.     @Html.ActionLink("添加", "Create") 
  9. </p> 
  10. <table> 
  11.     <tr> 
  12.         <th width="50px"> 
  13.             ID 
  14.         </th> 
  15.         <th width="300px"> 
  16.             標題 
  17.         </th> 
  18.         <th width="150px"> 
  19.             時間 
  20.         </th> 
  21.         <th> 
  22.         </th> 
  23.     </tr> 
  24.     @foreach (var item in Model) 
  25.     { 
  26.         <tr> 
  27.             <td> 
  28.                 @Html.DisplayFor(modelItem => item.NId) 
  29.             </td> 
  30.             <td> 
  31.                 @Html.DisplayFor(modelItem => item.Title) 
  32.             </td> 
  33.             <td> 
  34.                 @Html.DisplayFor(modelItem => item.Time) 
  35.             </td> 
  36.             <td> 
  37.                 @Html.ActionLink("編輯", "EditNews", new { id = item.NId  }) | 
  38.                 @Html.ActionLink("刪除", "DeleteNews", new { id=item.NId }) 
  39.             </td> 
  40.         </tr> 
  41.     } 
  42. </table> 

運行后效果圖如下:

 

 

到此,第一個列表頁面就完成了(未涉及分頁,后續(xù)會更新)。關(guān)于添加,修改,刪除也就很容易了。

添加Controller代碼:

  1. [HttpPost] 
  2.         [ValidateInput(false)] 
  3.         public ActionResult Create(NewsEntity news) 
  4.         { 
  5.             if (ModelState.IsValid) 
  6.             { 
  7.                 news.Time = DateTime.Now; 
  8.                 PE.NewsEntity.Add(news); 
  9.                 try 
  10.                 { 
  11.                     PE.SaveChanges(); 
  12.                     return RedirectToAction("News"); 
  13.                 } 
  14.                 catch (Exception e) 
  15.                 { 
  16.                     throw e; 
  17.                 } 
  18.  
  19.             } 
  20.             return View(); 
  21.         } 

添加頁面:

  1. @model TaiQiu.Models.NewsEntity 
  2. @{ 
  3.     ViewBag.Title = "添加新聞"
  4.     Layout = "~/Views/Shared/_MLayout.cshtml"
  5. <h2> 
  6.     添加新聞</h2> 
  7. <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
  8. <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 
  9. <script src="@Url.Content("~/Scripts/kindeditor/kindeditor.js")" type="text/javascript"></script> 
  10. <script src="@Url.Content("~/Scripts/kindeditor/lang/zh_CN.js")" type="text/javascript"></script> 
  11. <script type="text/javascript"> 
  12.         var editor; 
  13.         KindEditor.ready(function (K) { 
  14.             editor = K.create('textarea[name="Information"]', { 
  15.                 allowFileManager: true 
  16.             }); 
  17.         }); 
  18. </script> 
  19. @using (Html.BeginForm()) 
  20.     @Html.ValidationSummary(true) 
  21.     <fieldset> 
  22.         <legend>News</legend> 
  23.         <div class="editor-label"> 
  24.             @Html.LabelFor(model => model.Title) 
  25.         </div> 
  26.         <div class="editor-field"> 
  27.             @Html.TextBoxFor(model => model.Title, new { style = "width:500px" }) 
  28.             @Html.ValidationMessageFor(model => model.Title) 
  29.         </div> 
  30.         <div class="editor-label"> 
  31.             @Html.LabelFor(model => model.Information) 
  32.         </div> 
  33.         <div class="editor-field"> 
  34.             @Html.TextAreaFor(model => model.Information, new { style="width:800px;height:400px"}) 
  35.             @Html.ValidationMessageFor(model => model.Information) 
  36.         </div> 
  37.         <p> 
  38.             <input type="submit" value="Create" /> 
  39.         </p> 
  40.     </fieldset> 
  41. <div> 
  42.     @Html.ActionLink("返回列表", "Index") 
  43. </div> 

修改頁面一樣,Controller稍微有點修改:

  1. [HttpPost] 
  2.         [ValidateInput(false)] 
  3.         public ActionResult EditNews(NewsEntity news) 
  4.         { 
  5.             if (ModelState.IsValid) 
  6.             { 
  7.                 news.Time = DateTime.Now; 
  8.                 PE.Entry(news).State = EntityState.Modified;//修改 
  9.                 PE.SaveChanges(); 
  10.                 return RedirectToAction("News"); 
  11.             } 
  12.             return View(news); 
  13.         } 

刪除Controller代碼:

  1. public ActionResult DeleteNews(int id) 
  2.         { 
  3.             var model = PE.NewsEntity.Find(id); 
  4.             PE.NewsEntity.Remove(model); 
  5.             PE.SaveChanges(); 
  6.             return RedirectToAction("News"); 
  7.         } 

小弟剛接觸MVC3,本文也只是本人學(xué)習(xí)中的一點點積累。有很多不好的地方,希望大家多提意思。

原文:http://www.cnblogs.com/zhxhdean/archive/2012/03/12/2392575.html

【編輯推薦】

  1. Node.js vs Opa: Web框架殺手
  2. 設(shè)計好脾氣的Web頁面
  3. Google Web App開發(fā)指南之構(gòu)建優(yōu)秀的Web Apps
  4. 如何解決IndexedDB在webkit內(nèi)核下新舊版本的兼容問題
  5. Google Web App開發(fā)指南:交互設(shè)計
責(zé)任編輯:陳貽新 來源: zhxhdean的博客
相關(guān)推薦

2017-01-19 21:08:33

iOS路由構(gòu)建

2018-04-13 11:40:28

前端開發(fā)路線圖前端工程師

2019-04-01 10:15:02

2019-03-05 14:09:27

Docker存儲容器

2019-07-09 15:23:22

Docker存儲驅(qū)動

2018-12-24 10:04:06

Docker存儲驅(qū)動

2010-03-04 16:28:17

Android核心代碼

2016-11-02 18:54:01

javascript

2017-12-25 11:50:57

LinuxArch Linux

2011-05-10 10:28:55

2024-08-30 08:30:29

CPU操作系統(tǒng)寄存器

2024-09-30 09:56:59

2024-10-30 16:01:31

2009-12-17 16:36:23

無線路由設(shè)置密碼

2018-04-23 14:23:12

2018-06-11 15:30:12

2017-01-06 15:13:25

LinuxVim源代碼

2018-07-13 15:36:52

2024-08-06 09:29:54

程序機器指令字符串

2020-12-24 11:19:55

JavaMapHashMap
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 中文字幕国产第一页 | 中文在线一区二区 | 99精品欧美 | 美女福利视频一区 | 国产一级视频在线播放 | 午夜99| 亚洲综合色丁香婷婷六月图片 | 亚洲欧美日本在线 | 日本精品在线观看 | 综合国产在线 | 亚洲男人天堂av | 蜜桃免费av | 亚洲高清电影 | 免费在线观看av片 | 久久9999久久 | 日本国产一区二区 | 99福利视频导航 | 毛片免费在线 | 欧美日韩久久久 | 日韩精品国产精品 | 亚洲女人的天堂 | 久久久久久国产 | 亚洲欧美视频在线观看 | 欧美日韩国产传媒 | 91人人看 | 亚洲一区中文字幕 | 99re在线视频观看 | 免费观看成人av | 免费成人高清 | 久久久久国产精品午夜一区 | 中文字幕一区二区三区在线观看 | 日韩一级免费观看 | 羞羞色影院 | 亚洲人成人一区二区在线观看 | 一道本不卡视频 | 欧美极品少妇xxxxⅹ免费视频 | 亚洲精品在线视频 | 久久精品黄色 | 狠狠爱一区二区三区 | 蜜桃视频麻豆 | 国产美女自拍视频 |