随笔分类 - [61]MVC
-
Birdge(桥接)模式
摘要:1、出现原因1、同一个类型,有两个变化的维度(两个维度的抽象:一个抽象部分的抽象,一个实现部分的抽象)2、如何应对这种“多维度的变化”?如何利用面向对象技术来使得同一类型可以轻松地沿着两个方向变化,而不引入额外的复杂度?2、具体的例子数据库操作 操作类型:增删改查(具体功能的实现部分) 操作对象:客户,订单,产品…(对应上面的增删改查是1对多的关系(通过聚合关系联系起来))手机软件 软件功能:通讯录,游戏 支持品牌:M(摩托骡拉),N(喏鸡呀)计算机软件 软件功能:游戏,开发工具,绘图软件… 运行平台:Windows,Unix….过度的使用继承: ——以手机软件为例:以手机品牌分类:以手机软件 阅读全文
-
ASP.NET MVC扩展点
摘要:16个ASP.NET MVC扩展点【附源码】1、自定义一个HttpModule,并将其中的方法添加到HttpApplication相应的事件中!即:创建一个实现了IHttpmodule接口的类,并将配置WebConfig。 在自定义的HttpModule中,可以将一个方法注册到HttpApplication的任意一个事件中,在之后执行HttpApplication一些列事件时,按照事件的顺序(事件又按照添加方法先后的顺序)执行注册在事件中的方法!+ View Code+ View Code例:创建一个HttpModule(实现IHttpModule接口),并将一个方法注册到HttpAppli. 阅读全文
-
T4模版
摘要:T4模版这讲适合所有的MVC程序很荣幸,我们的系统有了体验的地址了。演示地址之前我们发布了一个简单的代码生成器,其原理就是读取数据库的表结构,生成文本的一个方式来生成代码!为了替代重复的劳动,微软自己有一套T4模版,我不想把T4模版说得那么的复杂,因为这个复杂我自己也不知道。原理跟市面的代码生成器一个道理,但是T4的扩展比代码生成器更灵活,可以更方便根据类生成代码等操作。T4代码模式是没有颜色高亮了,但是我们的VS支持插件T4 Editor下载安装之后就可以跟我们写C#一样有智能高亮和提示了。新建一个项目,专门用于T4的存放。首先我们要让T4连接我们的数据库新建一个DbHelper.ttinc 阅读全文
-
mvc项目如何在IIS7.5
摘要:mvc项目如何在IIS7.5上发布的1、在vs中打开你要发布的项目,右键属性找到发布2、弹出发布web对话框,选择《新建配置文件...》在弹出的对话框中输入一个配置文件名称,后确定3、在发布方式中选择《文件系统》在目标位置中选择要发布项目的存储的地方,记住地址这个要是iis中浏览网站时需要在配置时要选择Release,然后点发布。至此,在vs中项目发布成功,找到你发布网站的地址,然后将进行在iis中操作!打开iis 在网站上邮件 添加网站注意几点:应用程序池要选择ASP.NET v4.0 要用集成的模式。一般上述配置完成后就可浏览网站,但个别情况会出现无法找到资源,这个时候需要添加映射,在功能 阅读全文
-
MVC应用程序实现文件库(FlexPaper)
摘要:MVC应用程序实现文件库(FlexPaper)很久之前Insus.NET在实现了《FlexPaper实现文档在线浏览》http://www.cnblogs.com/insus/archive/2011/07/21/2112369.html。 当时也只是实现了显示而已,也没有实现在线转换功能。现在,Insus.NET已经从asp.net转向了asp.net MVC应用程序开发了。因此再想以MVC应用程序来实现文档库的功能。由于新版本的FlexPaper无法屏蔽打印的功能,因此还是用回来原来的FlexPaper组件,也意味使用前一篇的一些类库与文件。不过下载下来之后,不能直接使用,需要修改一些路径 阅读全文
-
ASP.NET MVC 5 - 给电影表和模型添加新字段
摘要:ASP.NET MVC 5 - 给电影表和模型添加新字段在本节中,您将使用Entity Framework Code First来实现模型类上的操作。从而使得这些操作和变更,可以应用到数据库中。默认情况下,就像您在之前的教程中所作的那样,使用 Entity Framework Code First自动创建一个数据库,Code First为数据库所添加的表,将帮助您跟踪数据库是否和从它生成的模型类是同步的。如果他们不是同步的,Entity Framework将抛出一个错误。这非常方便的在开发时就可以发现错误,否则您可能会在运行时才发现这个问题。为对象模型的变更设置 Code First Migr 阅读全文
-
MVC数据验证使用小结
摘要:MVC数据验证使用小结描述:MVC数据验证使用小结内容:display,Required,stringLength,Remote,compare,RegularExpression本人最近在公司用mvc做了一个修改密码的功能,使用的是mvc数据验证,现将使用心得分享给大家首先,我们先分析一下,如果要实现密码修改功能,我们需要做哪些工作。先从页面说起吧,前台页面起码需要三个密码框吧,分别表示原始密码,新密码,重复新密码,最后再加一个按钮,这样一个页面的基本元素就构造完毕了其次,我们需要对添加的数据进行验证,包括,原始密码正确性验证,新密码格式验证,重复输入的密码一致性验证最后,我们把修改后的密码 阅读全文
-
CompareValues标签对Model中的属性进行验证
摘要:在Asp.Net MVC中实现CompareValues标签对Model中的属性进行验证在Asp.Net MVC中可以用继承ValidationAttribute的方式,自定制实现Model两个中两个属性值的比较验证具体应用场景为:要对两个属性值的大小进行验证代码如下所示: /// /// Specifies that the field must compare favourably with the named field, if objects to check are not of the same type /// false will be return ... 阅读全文
-
Web Api 图片上传,在使用 Task.ContinueWith 变量无法赋值问题
摘要:细谈 Web Api 图片上传,在使用 Task.ContinueWith 变量无法赋值问题的解决办法!在使用Asp.Net Web Api 图片上传接口的时候,到网上找了一些个例子,但大多数找到都是这个版本![HttpPost] public Task ImgUpload() { // 检查是否是 multipart/form-data if (!Request.Content.IsMimeMultipartContent("form-data")) throw new HttpResponseException(HttpStatusCode.Unsuppor... 阅读全文
-
API变了,客户端怎么办?
摘要:使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【九】——API变了,客户端怎么办?系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html前言一旦我们将API发布之后,消费者就会开始使用并和其他的一些数据混在一起。然而,当新的需求出现时变化是不可避免的,你也许会庆幸API变了对现有客户端没受到影响,但是这种情况不会一直发生。因此,在具体实现之前仔细考虑一下ASP.NET Web Api的版本策略就变得很有必要了。在我们的案例中,需求发生了变化而且我们通过创建不同版本的API来解决变化,同时不影响已经在使用API的客户端。我们 阅读全文
-
DropDownListFor的用法
摘要:Asp.Net MVC中DropDownListFor的用法在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值。用法不复杂,这里简单做一个记录。首先我们要定义一个Model,用户在DropDownList中选择指定的值赋给属性ReadyTimeHourpublic class EricSunModel{ public string ReadyTimeHour { get; set; }}Model定义完毕之后,接下来处理Controller的逻辑【注:这里用了ViewData来记录DropDownList中所要显示的所有列表数值】publ... 阅读全文
-
Working with Entity Relations in OData
摘要:Working with Entity Relations in OData前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看http://www.cnblogs.com/aehyok/p/3446289.html。 本文的示例代码的下载地址为http://pan.baidu.com/s/1o6lqXN8大多数的数据集定义实体间的关系:客户有订单、书籍有作者、产品有供应商。客户端可以使用OData操作实体间的关系。给定一个产品,你可以找到该产品的供应商。您也可以创建或者删除关系。例如,您也可以为一个产品设置一个供应商。 本教程将会展示在Asp.Net W... 阅读全文
-
跨域访问 REST API
摘要:跨域访问 Web Service (REST API) 虽然 JQuery 也能通过授权header实现跨域, 但SharePoint 提供了更简单的方法,它被实现在SP.RequestExecutor里 。它能访问跨域的服务包括REST API, 本示例将使用它在auto-hosted的app里从远程web site去访问SharePoint。 SP.RequestExecutor 对象包含了一个独立的客户端对象的 JavaScript 库。RequestExecutor 的使用非常像 JQuery ajax() function。它用js 代码管理请求和响应。实事上 RequestExec 阅读全文
-
Web Api的安全性
摘要:Web Api的安全性系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html前言这一篇文章我们主要来探讨一下Web Api的安全性,到目前为止所有的请求都是走的Http协议(http://),因此客户端与服务器之间的通信是没有加密的。在本篇中,我们将在“StudentController”中添加身份验证功能——通过验证用户名与密码来判断是否是合法用户。众所周知,对于机密信息的传递,我们应该使用安全的Http协议(https://)来传输在Web Api中强制使用Https我们可以在IIS级别配置整个Web Api来强制使用Https,但是在某些情况 阅读全文
-
深入剖析Provider Model
摘要:Membership三步曲之进阶篇 - 深入剖析Provider ModelMembership 三步曲之进阶篇 -深入剖析Provider Model 本文的目标是让每一个人都知道Provider Model 是什么,并且能灵活的在自己的项目中使用它。Membership三步曲之入门篇- Membership 基础示例Membership三步曲之进阶篇-深入剖析Provider ModelMembership三步曲之高级篇 在入门篇中我们已经从0开始将Membership集成到一个空的MVC站点中,并且与ASP.NET的权限管理体系相结合。本篇(进阶篇)将剖析Membership的设计理.. 阅读全文
-
怎样控制与复制相同的功能
摘要:MVC应用程序中,怎样控制与复制相同的功能先看此篇《MVC程序实现Autocomplete功能》http://www.cnblogs.com/insus/p/3546255.html它是实现使用jQuery实现文本框输入文字,出现下拉列表,自动完成与选择功能。相信你的开发的MVC应用程序中,不止有唯一一个此AutoComplete功能。如果有多个时,或是不断新加时,你的Handlers目录下,肯定会出现多个ashx文件来支持。每增加一个,就会去复制然后修改它。因为这个ashx内处理的是不同类各自的数据。因此让Insus.NET想起来,是否可以所有AutoComplete只共用一个ashx文件呢 阅读全文
-
验证编辑方法(Edit method)和编辑视图(Edit view)
摘要:ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图。但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好。打开Models \ Movie.cs文件,并添加高亮行如下所示:using System;using System.ComponentModel.DataAnnotations;using System.Data.Entity;namespace MvcMovie.Models{public class Movie{publi 阅读全文
-
上传图片检测其是否为真实的图片 防范病毒上传至服务器
摘要:ASP.NET中上传图片检测其是否为真实的图片 防范病毒上传至服务器一、需求我们在用.net开发网站时,经常会用到图片上传,可以说是每个网站必备的,大到门户网站,电商网站,政务系统,OA系统,小到企业网站,个人网站,博客网站,导航网站等等,都有用到图片上传,那么在客户端浏览器中上传图片,不可避免有些不法分子将病毒伪装图片文件,然后上传到我们的网站服务器,这样造成网站崩溃。为了解决这个问题,我们在程序中先过滤,就有了接下来的文章。二、主要代码1、MVC中我们就来上传一个头像,在MVC中怎么实现文件上传,请查看我的文章:【MVC系列】ASP.NET MVC中如何实现文件上传 FileUpLoad 阅读全文
-
权限管理系统-将权限授权给角色
摘要:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(24)-权限管理系统-将权限授权给角色过了个年回来,回顾一下,我们上次讲了角色管理,我们这一次来讲将权限授权给角色,这一节也是大家比较关心的。因为我们已经跑通了整个系统,知道权限的流转,我们先来看一张图这张图主要分要3块,角色组----系统模块----操作码授权选择角色组(表示要授权的角色,选择需要授权的模块,最后授权操作码。当存在一个操作码时候,我们应该改变SysRight表中的rightflag字段,表示他有权限。不知道大家是否还记得,这个图也是我们要做的。由于图中用的是JQGrid看起来跟Easyui 阅读全文
-
Asp.net MVC Razor模板引擎技巧分享
摘要:Asp.net MVC Razor模板引擎技巧分享2014-02-12 08:25 by JustRun,1420阅读,14评论,收藏,编辑Razor是Asp.net MVC中新的默认模板类型, 语法简单易用。这篇文章不涉及Razor的语法,主要介绍Razor的一些在MVC项目中的使用技巧,以及脱离MVC环境下,如何使用Razor.阅读目录:一、Razor和MVC关系二、MVC中扩展Razor寻找模板范围三、MVC中使用Razor生成Html片段四、脱离MVC, 使用Razor独立作为模板引擎五、其它1. Razor和MVC关系Razor是MVC中的默认模板引擎,MVC中还有ASPX模板引擎, 阅读全文