65.9K
CodeProject 正在变化。 阅读更多。
Home

带有下拉列表的 ASP.NET MVC-5 CRUD 应用程序

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.84/5 (22投票s)

2014 年 8 月 28 日

CPOL

2分钟阅读

viewsIcon

89585

downloadIcon

113

ASP.NET MVC 5 应用程序

引言

本教程将教你使用 Visual Studio 2013 构建 ASP.NET MVC 5 Web 应用程序的基础知识。我将通过简单的屏幕截图逐步展示操作。准备好开始这段旅程吧。

你需要了解 ASP.NET、SQL Server 2008 R2 和 Visual Studio 2013。

  • M模型:代表应用程序数据的类,并使用验证逻辑来强制执行这些数据的业务规则。
  • V视图:你的应用程序用来动态生成 HTML 响应的模板文件。
  • C控制器:处理传入浏览器请求、检索模型数据,然后指定视图模板以返回响应到浏览器的类。

MVC 是如何工作的?

应用程序流程

 

现在创建项目

  1. 打开 Visual Studio 2013,选择新建项目

 

 

  1. 选择 ASP.NET Web 应用程序,并为项目命名为 MyMVCApp,然后点击确定。

 

 

  1. 然后选择 MVC,并点击确定按钮。

 

 

 

  1. 现在在模型上右键单击,添加,然后选择新建项

  1. 现在选择 ADO.NET Entity Data Model,输入名称“MyAppEDM”,然后点击添加按钮。

 

 

  1. 现在选择从数据库生成,然后点击下一步。

 

  1. 现在点击新建连接。

 

 

 

  1. 现在输入用户名和密码(如果你使用 SQL Server 身份验证),并选择你的数据库,例如 dbMYDAT,然后测试连接,并点击确定按钮。

 

  1. 现在点击保存实体连接设置,然后点击下一步。

 

 

  1. 现在选择你想要使用的表、视图、存储过程等,然后点击完成。

 

 

 

  1. 现在创建一个控制器,并命名为“StuInfoController”。在创建控制器之前,你需要构建应用程序。

 

对于上述错误,你需要重新构建应用程序。

 

 

  1. 现在在 RouteConfig 中,将默认控制器“Home”重命名为“StuInfo”控制器。

 

 

  1. 现在运行应用程序,你可能会看到以下屏幕。

 

 

  1. 现在你可以创建新的了。

 

 

 

代码

 

模型

 public partial class stuInfo
    {
        [Required]
        public string ID { get; set; }
        [StringLength(20, ErrorMessage = "Max length 30 characters")]
        public string Name { get; set; }
        [Required]
        public string Dept { get; set; }
        [Required]
        public string Subject { get; set; }
    
        public virtual DeptInfo DeptInfo { get; set; }
        public virtual SubjectInfo SubjectInfo { get; set; }
    }

 

 

Web config

  <connectionStrings>
    <add name="dbMYDATAEntities" connectionString="metadata=res://*/Models.MyAppEDM.csdl|res://*/Models.MyAppEDM.ssdl|res://*/Models.MyAppEDM.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=IT-WS08\SQLEXPRESS;initial catalog=dbMYDATA;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

 

表脚本

Stuinfo

USE [dbMYDATA]

GO


/****** Object:  Table [dbo].[stuInfo]    Script Date: 08/27/2014 12:06:16 ******/

SET ANSI_NULLS ON

GO


SET QUOTED_IDENTIFIER ON

GO


CREATE TABLE [dbo].[stuInfo](

      [ID] [nchar](10) NOT NULL,

      [Name] [nvarchar](max) NULL,

      [Dept] [nchar](10) NULL,

      [Subject] [nchar](10) NULL,

 CONSTRAINT [PK_stuInfo] PRIMARY KEY CLUSTERED

(

      [ID] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


GO


ALTER TABLE [dbo].[stuInfo]  WITH CHECK ADD  CONSTRAINT [FK_stuInfo_DeptInfo] FOREIGN KEY([Dept])

REFERENCES [dbo].[DeptInfo] ([ID])

GO


ALTER TABLE [dbo].[stuInfo] CHECK CONSTRAINT [FK_stuInfo_DeptInfo]

GO


ALTER TABLE [dbo].[stuInfo]  WITH CHECK ADD  CONSTRAINT [FK_stuInfo_SubjectInfo] FOREIGN KEY([Subject])

REFERENCES [dbo].[SubjectInfo] ([Id])

GO


ALTER TABLE [dbo].[stuInfo] CHECK CONSTRAINT [FK_stuInfo_SubjectInfo]

GO

 

DeptInfo

USE [dbMYDATA]

GO


/****** Object:  Table [dbo].[DeptInfo]    Script Date: 08/27/2014 12:07:15 ******/

SET ANSI_NULLS ON

GO


SET QUOTED_IDENTIFIER ON

GO


CREATE TABLE [dbo].[DeptInfo](

      [ID] [nchar](10) NOT NULL,

      [Dept] [nvarchar](50) NULL,

 CONSTRAINT [PK_DeptInfo] PRIMARY KEY CLUSTERED

(

      [ID] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]


GO

 

 

SubjectInfo

USE [dbMYDATA]

GO


/****** Object:  Table [dbo].[SubjectInfo]    Script Date: 08/27/2014 12:07:59 ******/

SET ANSI_NULLS ON

GO


SET QUOTED_IDENTIFIER ON

GO


CREATE TABLE [dbo].[SubjectInfo](

      [Id] [nchar](10) NOT NULL,

      [Subject] [nvarchar](max) NULL,

 CONSTRAINT [PK_SubjectInfo] PRIMARY KEY CLUSTERED

(

      [Id] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


GO

 

非常感谢你的耐心。

 

参考文献

http://www.asp.net/mvc

https://www.codeplex.com/

http://www.c-sharpcorner.com/

https://codeproject.org.cn/

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

电子书:Programming ASP.NET MVC 5 A Problem Solution Approach

© . All rights reserved.