音乐商店
1.创建项目
项目模板:ASP.NET MVC3应用程序
模板:空
视图引擎:Rezor
2.控制器Controller
URL:统一资源定位符(Uniform Resource Locator),又叫做网页地址
基本URL包含 协议、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。
完整的、带有授权部分的普通统一资源标志符语法如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
一些协议:
http——超文本传输协议资源
https——用安全套接字层传送的超文本传输协议
mailto——电子邮件地址
*Global.asax.cs 文件:默认的路由配置
*控制器中的方法:
1.返回类型为一般类型
return的内容返回浏览器
访问地址时输入的值为形参传给genre,而genre用于message返回浏览器
locallhost默认的浏览网站名
2.返回类型为ActionResult返回一个视图
Index.cshtml视图模板的默认内容为
使用 ViewBag.Title 设置了页面的标题
所有页面的公共布局写在
*强类型视图
代表使用强类型视图
3.页面之间的链接
1.<a herf=地址>显示名称
2.@Html.ActionLink(地址,显示名称,。。。)
---恢复内容结束---
1.创建项目
项目模板:ASP.NET MVC3应用程序
模板:空
视图引擎:Rezor
2.控制器Controller
URL:统一资源定位符(Uniform Resource Locator),又叫做网页地址
基本URL包含 协议、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。
完整的、带有授权部分的普通统一资源标志符语法如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
一些协议:
http——超文本传输协议资源
https——用安全套接字层传送的超文本传输协议
mailto——电子邮件地址
*Global.asax.cs 文件:默认的路由配置
*控制器中的方法:
1.返回类型为一般类型
return的内容返回浏览器
访问地址时输入的值为形参传给genre,而genre用于message返回浏览器
locallhost默认的浏览网站名
2.返回类型为ActionResult返回一个视图
Index.cshtml视图模板的默认内容为
使用 ViewBag.Title 设置了页面的标题
所有页面的公共布局写在
*强类型视图
代表使用强类型视图
3.页面之间的链接
1.<a herf=地址>显示名称
2.@Html.ActionLink(地址,显示名称,。。。)
*数据访问
添加引用 Entity Framework
EF 是一个灵活的进行数据访问的对象关系映射 API,允许开发人员使用面向对象的方式对数据库中的数据进行查询和更新。
API:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问
源码,或理解内部工作机制的细节。
*在 Web.config 中创建数据库连接串
我们需要在网站的配置文件中增加一些行,以便 Entity Framework 知道如何连接到我们的数据库
使用EF添加 <connectionStrings> 的配置节
1.使用EF数据库
<connectionStrings>
<add name="MusicStoreEntities"
connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
2.使用SQL数据库
<connectionStrings>
<add name="MusicStoreEntities"
connectionString="server=.\sqlexpress;database=musicstore;integrated security=true;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
其中add name=数据库连接串的名称
*增加上下文类
需要注意的是,这个类的名称必须与数据库连接串的名称一致。
这个类将反映数据库的上下文,用来处理创建,读取,更新和删除的操作。
不需要其他的配置,特定的接口等等,通过扩展 DbContext 基类,我们得 MusicStoreEntities 类就可以处理我们对数据库的操作了
*添加数据:在models中写一个类
我们需要增加一些代码来告诉 Entity Framework 关于 SampleData 类的事情
双击 Global.asax 文件,打开它,在 Application_Start 方法中,增加如下的行。
这样,我们就完成了配置 Entity Framework 的
DbContext 类
DbContext 实例表示工作单元和存储库模式的组合,可用来查询数据库并将更改组合在一起,这些更改稍后将作为一个单元写回存储区中
针对对上下文和基础存储中给定类型的实体的访问,返回一个 DbSet<TEntity> 实例。返回一个类的对象?
DbSet<TEntity> 类
TEntity 定义集的类型。自己定义的属性类型
find方法:
查找带给定主键值的实体。
如果上下文中存在带给定主键值的实体,则立即返回该实体,而不会向存储区发送请求。
否则,会向存储区发送查找带给定主键值的实体的请求,如果找到该实体,则将其附加到上下文并返回。如果未在上下文或存储区中找到实体,则返回 null。
https://i.cnblogs.com/EditPosts.aspx?postid=7839498
decimal类型:
精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间
*支架(实现编辑功能)
1.创建一个编辑控制器
打上勾之后,
原本vs会创建 数据访问的对象 但是没有
原本vs会自己创建Create.cshtml,Delete.cshtml,Details.cshtml,Edit.cshtml,以及 Index.cshtml 强类型的 Album 类型
但是没有创建,所以得自己创建
选定模型类,选定支架模板
视图会有默认代码,但是会与我们所需要的有冲突,所以我们要自己进行删除修改
接下来是修改实现编辑功能的控制器的方法
注意有两个同名的方法,修改第一个
get是从服务器上获取数据,post是向服务器传送数据
*创建功能 创建方法create
使用viewbag:向视图传递信息
viewbag是:动态对象
这意味着你可以使用 ViewBag.Foo 或者 ViewBag.YourNameHere 形式的属性而不需要预先定义这些属性
控制器中的代码使用 ViewBag.GenreId 和 ViewBag.Artisid 传递流派和艺术家的信息
以便生成表单中下拉列表的值,以后,用来在新创建的专辑中使用。
传递到视图的下拉列表的值使用 SelectList 对象表示
selectlist是用于创建下拉列表是所使用的一个类
使用 HtmlHelper 可以保持我们的视图清楚和易读
Html.DropDownList 方法需要两个参数(从哪里获取显示用的列表,哪一个值需要被预先默认选中)
所以,没有需要预先选中的值,这里传递了一个 String.Empty 。
*保存提交的数据到数据库中
add()
savechanges()
实现保存数据
*try { 可能导致错误的代码 } catch (error) { 在错误发生时怎么处理 } finally { 一定会执行的代码 }
*编辑功能
*删除功能
*为用户输入界面提供验证提示信息
DataAnnotations 数据注解
*成员管理与授权
学会使用 ASP.NET 站点配置工具增加管理员账号
*购物车
为什么模型类选择不了