1. 安装MVC3框架

官网:http://www.asp.net/mvc

下载:ASP.NET MVC3 with Tools

http://go.microsoft.com/fwlink/?LinkID=215693

2.微软提供的MVC框架项目  http://www.asp.net/mvc/samples

下载微软提供的 MvcMusicShop 实例项目来熟悉MVC3框架,文件夹里有个*.pdf,通过pdf可以一步接着一步的做个完全和MusicShop功能一样的项目。

MusciShop例子中通过 Entity Framework 来操作数据库,并且数据库用的是 SQL companct 4.0 版本。

sql compact 类似 sqlite,移动端或者单机数据库。

实例中在程序启动后,通过代码生成 *.sdf 的数据库(sdf后缀的就是compact)。

通过MSSQL 管理器 或者VS 管理器 可以查看*.sdf里面的具体数据。

 

代码在App_Data文件夹下生成*.sdf 数据库

  1. web.config在 <connectionStrings>节点下添加  
    <add name="MusicStoreEntities"  connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf" providerName="System.Data.SqlServerCe.4.0"/>
  2. 在Global.asax里面设置启动数据库;将sampleData.cs放到model中。
  3. 使用数据库:MusicStoreEntities storeDb = new MusicStoreEntities();
    var genreModel = storeDb.Genres.ToList();
                     return View(genreModel);

 

 

 

演示Razor语法和高级功能

 

public ActionResult  Index(){return view()}

public string  Index() {  return "Index()"; }

   

2)传参

public string Browse(string genre)

       {

           string message = HttpUtility.HtmlDecode("browse 传参 genre="+genre);

           return message;

       }

http://localhost:3649/store/browse?genre=<script>window.location("http://www.baidu.com");</script>      检测到有危险的input

    

sql compact  *.sdf 用sql企业管理器提示版本错误,用vs连接数据库也连接不上。因为*.sdf是4.0创建的,但是本机缺少 compact 4.0这个组件,然后重新装。

       

  

初始化数据老出现错误,,初始化3个表,每次只有第一个表能初始化成功

初始化到第二表会出现错误,尝试过很多其他办法,后来发现是因为 Model中的类 Artist 的主键属性类型写错了,应该int自增,而代码里写的是string,应当必须插入数据。而初始化的时候相反没输入id这个属性,所以错了。。。 粗心大意浪费了3个小时。

Microsoft MVC3 框架的更多相关文章

  1. .Net Mvc3框架调用服务端控件解决方案

      /*BY:Wangyexin date:2011年4月30日 20:17:38*/ /*说明:.net mvc3框架,View层调用服务端控件,输出到.cshtml文件中显示*/ 1.先说说.ne ...

  2. [C#] Microsoft .Net框架SerialPort类的用法与示例

    从Microsoft .Net 2.0版本以后,就默认提供了System.IO.Ports.SerialPort类,用户可以非常简单地编写少量代码就完成串口的信息收发程序.本文将介绍如何在PC端用C# ...

  3. 一种在MVC3框架里面设置模板页的方法,不使用_ViewStart

    1.新建MasterFilterAttribute类继承ActionFilterAttribute,重写方法OnActionExecuted ,指定ViewResult的MasterName = &q ...

  4. 用EF DataBase First做一个简单的MVC3报名页面

    使用EF DataBase First做一个简单的MVC3报名网站 ORM(Object Relational Mapping)是面向对象语言中的一种数据访问技术,在ASP.NET中,可以通过ADO. ...

  5. asp.net mvc3 的数据验证(一)

    原文:asp.net mvc3 的数据验证(一)      对于web开发人员来说,对用户输入的信息进行验证是一个重要但是繁琐的工作,而且很多开发者都会忽略.asp.net mvc3框架使用的是叫做“ ...

  6. C#之MVC3继续整理问题

    1.注释验证[EmailAddress(ErrorMessage = "×")],用的MVC3框架,此处报错,找不到类“EmailAddress”,看到原文有using Syste ...

  7. ASP.NET MVC3 Model验证总结

    ASP.NET MVC3中的Model是自验证的,这是通过.NET4的System.ComponentModel.DataAnnotations命名空间完成的. 我们要做的只是给Model类的各属性加 ...

  8. MVC WebAPI 三层分布式框架开发

    版权声明:本文为博主原创文章,未经博主允许不得转载. 前言:SOA(面向服务的架构)是目前企业应用开发过程中普遍采用的技术,基于MVC WebAPI三层分布式框架开发,以此适用于企业信息系统的业务处理 ...

  9. ASP.NET MVC3 Model验证总结(转)

    推荐:   ASP.NET MVC的Model元数据与Model模板:预定义模板 http://www.cnblogs.com/artech/archive/2012/05/02/model-meta ...

随机推荐

  1. Vue中使用定时器setInterval和setTimeout

    js中定时器有两种,一个是循环执行setInterval,另一个是定时执行setTimeout 一.循环执行(setInterval) 顾名思义,循环执行就是设置一个时间间隔,每过一段时间都会执行一次 ...

  2. python函数回顾:min()

    描述 min() 方法返回给定参数的最小值,参数可以为序列. 语法 以下是 min() 方法的语法: min( x, y, z, .... ) 参数 x -- 数值表达式. y -- 数值表达式. z ...

  3. 前端基础-html(1)

    写在前面: 前端               后端 C(client)        S(server) B(browser)      S(server) 以用户为出发点 一.web标准 1)web ...

  4. STL中的二分查找——lower_bound 、upper_bound 、binary_search

    STL中的二分查找函数 1.lower_bound函数 在一个非递减序列的前闭后开区间[first,last)中.进行二分查找查找某一元素val.函数lower_bound()返回大于或等于val的第 ...

  5. json & pickle & shelve 模块

    JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类型对应如下: # json序列化 import json,time user={'name':'egon' ...

  6. 005-搭建框架-实现AOP机制【二】AOP技术

    一.什么是AOP aspect-oriented  programming,面向切面编程,对oop的一种补充. 著名示例,aspectj,spring+aspectj 二.aop之代码重构 2.1.代 ...

  7. linux各个文件夹作用

    linux /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/ho ...

  8. 剑指offer 面试11题

    面试11题: 题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4 ...

  9. BigDecimal类型、Long类型判断值是否相等,以及BigDecimal加减乘除

    //Long是需要比较精度的,所以要用longValueif(project.getFriendId().longValue() != friendId.longValue()) { return t ...

  10. 在python中是如何管理内存的

    python有一个私有堆空间来保存所有的对象和数据结构.作为开发者,我们无法访问它,是解释器在管理它,但是有了核心api后,我们可以访问一些工具.python内存管理器控制内存分配 内置垃圾回收器会回 ...