这几天在学习asp.net mvc 一上来就被书中的什么依赖注入,什么单元测试搞的晕晕呼呼,根本就不理解,前天开始做书中的运动商店项目,一上来就遇到个大难题,书中的连接字符串的写法,跟以往在winform和WPF中的连接字符串不一样,网页展示不出来,没有抛异常,我估计是没有数据的缘故,但是,我的数据库中明明有数据啊。就索性照着书上的抄,还是不行,经过百度,书中所用的是loaclDB(一种轻量级的数据库)创建数据库,在创建时需要知道实例名,而这个实例名每个人可能不同,最快知道这个实例名方法是,直接创建一个MVC5的项目,在web.config中复制就行了。

今天做完了商品展示页,但是不明白其中的运行原理。总结一下程序运行思路:

创建product类

public  class Product
{
public int ProductID { get; set; }
public string ProductName { get; set; }
public string Description { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}

创建IProductRespository接口  商品仓库

public   interface IProductRespository
{
IEnumerable<Product> Products { get; } }

类太多了,不贴了

测试程序,首先应该激活controller--->而在书上的这个程序中productController有个构造函数

   public ProductController(IProductRespository productRespository)
{
this.respository = productRespository;
}

在下面的   public ViewResult List 方法所用的模型都是从IProductRespository接口的Products熟悉中得到,既然激活productController,接下来应该执行它的构造函数,我猜测应该是这个东西   kernel.Bind<IProductRespository>().To<EFPoductRepository>();随后执行下面这个类

public  class EFPoductRepository : IProductRespository
{
private EFDbcontext Context = new EFDbcontext();
public IEnumerable<Product> Products
{
get
{
return Context.Products;
}
}
}

接着执行

 public class EFDbcontext:DbContext
{
public DbSet<Product> Products { get; set; }
}

下面应该回到了productController中去执行List方法

ASP.NET MVC学习(一)的更多相关文章

  1. ASP.NET MVC学习之Ajax(完结)

    一.前言 通过上面的一番学习,大家一定收获不少.但是总归会有一个结束的时候,但是这个结束也意味着新的开始. 如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发aj ...

  2. ASP.NET MVC学习之视图篇(2)

    继ASP.NET MVC学习之视图(1)学习 4.HTML辅助器 虽然在ASP.NET MVC中我们已经摆脱了ASP.NET的控件,但是对于页面中需要循环标签的情况依然还是存在,可能很多人认为用for ...

  3. ASP.NET MVC学习之过滤器篇(2)

    下面我们继续之前的ASP.NET MVC学习之过滤器篇(1)进行学习. 3.动作过滤器 顾名思义,这个过滤器就是在动作方法调用前与调用后响应的.我们可以在调用前更改实际调用的动作,也可以在动作调用完成 ...

  4. ASP.NET MVC学习之控制器篇

    一.前言 许久之后终于可以继续我的ASP.NET MVC连载了,之前我们全面的讲述了路由相关的知识,下面我们将开始控制器和动作的讲解. ASP.NET MVC学习之路由篇幅(1) ASP.NET MV ...

  5. ASP.NET MVC学习系列(二)-WebAPI请求

    继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现 ...

  6. ASP.NET MVC学习系列(二)-WebAPI请求(转)

    转自:http://www.cnblogs.com/babycool/p/3922738.html 继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的g ...

  7. (转)ASP.NET MVC 学习第一天

    天道酬勤0322   博客园 | 首页 | 发新随笔 | 发新文章 | 联系 | 订阅  | 管理 随笔:10 文章:0 评论:9 引用:0 ASP.NET MVC 学习第一天 今天开始第一天学习as ...

  8. ASP.NET MVC学习之控制器篇扩展性

    原文:ASP.NET MVC学习之控制器篇扩展性 一.前言 在之前的一篇随笔中已经讲述过控制器,而今天的随笔是作为之前的扩展. 二.正文 1.自定义动作方法 相信大家在开发过程一定会遇到动作方法的重名 ...

  9. ASP.NET MVC学习笔记-----Filter2

    ASP.NET MVC学习笔记-----Filter(2) 接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用 ...

  10. ASP.NET MVC学习笔记-----Filter

    ASP.NET MVC学习笔记-----Filter(1) Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter Au ...

随机推荐

  1. yum安装nagois

    多少年前就装过了,今天再来用yum装一次,都忘干净了~~ 主监控机:CentOS 6.5 192.168.0.105被监控机:CentOS 6.5 192.168.0.107 主监控机设置:1.安装e ...

  2. Vue基础知识之vue-resource和axios(三)

    vue-resource Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没有必要引入jQuery.vue-resource是Vue.js的 ...

  3. HTML常用技术

    1. 使用a标签实现文件的上传下载 完整代码: <a class="btn btn-success btn-sm" href="http://sf.jb51.net ...

  4. ganglia-Monitor

  5. C细节学习

    字符串ascii码值比较compress函数;

  6. tomcat8 安全加固

    本文基于tomcat8.0.24 1.删除文档和示例程序 [操作目的]删除示例文档 [加固方法]删除webapps/docs.examples.manager.ROOT.host-manager [是 ...

  7. window 10 javac不是内部或外部命令

    今天在新电脑上配置Java环境变量(window 10),不管怎么配置都是提示“javac不是内部或外部命令”,java,java -version命令是正常的. 后来发现是path路径配置的不对,修 ...

  8. 48. Rotate Image (Array)

    You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). ...

  9. UNITY中有Timer

    using UnityEngine; using System.Collections; using System.Timers; public class NewBehaviourScript : ...

  10. 使screen支持滚动

    在Linux中,常用的串口工具有minicom和screen,minicom可能使用得比较多,但是我比较喜欢screen,因为它的输出是彩色的,更舒服.更能突出重点. 使用screen来打开串口也非常 ...