Asp.net MVC2学习笔记5 简单实例(Movie)(上)
前面对route、controller、view 已经有了基本的了解,今天我们就来一个简单的实例 -- Movie
开始之前,简单说一下 model(模型),相信大家做分层开发的时候一定用过它,MVC的model和他一样,
每一个model 对应数据库一张表,这样我们就是用model的属性访问表中每一行记录的某一列值。
mvc中你可以自己写model,也可以使用 ADO.NET Entity Data Model、Linq to SQL 类 等,今天这个实例我们用的是
实体数据模型。下面我们就记录下这个简单实例的步骤:
一、在数据库中建一张 Movies 表:
字段:ID int , --自增长 主键
Movie_Name nvarchar(50) , --电影名称
Release_Date datetime --上映时间
二、新建asp.net mvc2 项目
这里我们可以新建 asp.net mvc 2 web application(当然也可以新建一个空的 mvc项目) ,项目名:Movie
项目建好了以后,我们可以把不用的controller、model、view
三、建模型层 Model
这里我们使用 实体数据模型来完成我们Model。
在Models文件夹上 右键 --> 添加项,选择 ADO.NET Entity Data Model,名称:Mvoie
下面选择 从数据库生成
新建一个数据库连接,连接到我们的测试库
选择我们需要的表 (Movie),如果数据库中有视图或存储过程的话也可以选择过来,
模型命名空间:Models
点击完成。。
此时我们就可以看到我们创建的 实体数据模型设计界面,不是说 会自动把名称 改成单数的么?怎么没改过来?呵呵,可能是中文版的vs吧,原因不详。。。我们手工改下吧。。把 Movies 改为 Movie
呵呵,好了,到此为止 我们的Model 已经创建好了,是不是觉得 实体数据模型很方便呢?。。。
四、建控制层--Controller
上面Model建好以后,我们可以先build一下我们的项目(如果自动生成了测试项目并且把默认的controller删掉以后,在test项目中会报错,这时我们把test项目中的controller测试文件删掉就好了)
下面我们新建一个Controller名叫:MoviesController
在 Controllers 文件夹上 右键 -->添加-->controller ;填入名称 MoviesController并
相关文档:
写了一个创建虚拟目录的 WebService 程序,在测试运行时可以成功创建,但其它程序调用时,提示没有权限创建。
查了一些资料,在web.config里面的<system.web>后加上配置:
<identity impersonate="true" userName="操作系统用户名" password="用户对应的密码" />
问题解决。特此记录,权 ......
+++ 规定缓存项的键值就可以从缓存中检索缓存项的数据。然而,因为保存在缓存中的数据是不稳定的,可能会被ASP.NET移除,所以,推荐的开发方式为应该先确定缓存项是否存在,如果不存在,应该先添加该缓存项到缓存,然后再检索该缓存项。
+++ 检索缓存项
下面的例子演示,确定名为“CacheItem”的缓存项是否存在 ......
+++ 页面代码如下:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" DataKeyNames="username" DataSourceID="SqlDataSource1"
PageSize="3">
<Columns>
  ......
+++ 页面代码如下:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" PageSize="3"
AutoGenerateColumns="true" DataKeyNames="username" DataSourceID="SqlDataSource1"
AutoGenerateDeleteButton="True"
AutoGen ......
前段时间因为一特定需求写了下面代码。需求如下:在用户访问本站所有aspx页面时,首先判断用户Session["login"]是否存在,如果不存在,说明该用户未登陆,要让该用户跳转到指定的页面。所以想写一个Session的过滤器,思前想后应该写一个继承IHttpModule的处理类。试验了几种方式发现只有将方法加在.AcquireRequestState中才 ......