随笔分类 - [61]MVC
-
ASP.NET MVC:多语言的三种技术处理策略
摘要:ASP.NET MVC:多语言的三种技术处理策略背景本文介绍了多语言的三种技术处理策略,每种策略对应一种场景,这三种场景是:多语言资源信息只被.NET使用。多语言资源信息只被Javascript使用。多语言资源信息同时被.NET和Javascript使用。下文我们就一个一个场景的分析。第一种场景:多语言资源信息只被.NET使用这种场景的技术处理最简单,可以充分利用VisualStudio提供的资源编辑器及资源文件。实现步骤1、定义资源文件。2、使用资源文件。1 Classic:@Strings.Title 第二种场景:多语言资源信息只被Javascript使用这种场景的技术实现需要参考使用的J 阅读全文
-
Web Host下的URL路由
摘要:Web Host下的URL路由ASP.NET Web API提供了一个独立于执行环境的抽象化的HTTP请求处理管道,而ASP.NET Web API自身的路由系统也不依赖于ASP.NET路由系统,所以它可以采用不同的寄宿方式运行于不同的应用程序中。如果采用Web Host的方式将定义Web API寄宿于一个Web应用之中,其实最终的URL路由还是通过ASP.NET本身的路由系统完成的,那么两个路由系统之间是如何衔接在一起的呢?。[本文已经同步到《How ASP.NET Web API Works?》]目录一、HostedHttpRoute二、HttpWebRoute三、HostedHttpRo 阅读全文
-
ASP.NET Web API框架揭秘:路由系统的几个核心类型
摘要:ASP.NET Web API框架揭秘:路由系统的几个核心类型虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分(定义在程序集System.Web.Http.dll中)已经移除了对System.Web.dll程序集的依赖,实现在ASP.NET Web API框架中的URL路由系统亦是如此。也就是说,ASP.NET Web API核心框架的URL路由系统与ASP.NET本身的路由系统是相对独立的。但是当我们采用基于Web Host的方式(定义在程序集System.Web.Http.WebHost.dll)将AS 阅读全文
-
多模板支持
摘要:ASP.NET MVC:多模板支持背景准备写个博客练习一下WEB编程,有一个需求就是多模板支持,类似博客园的自定义模板一样,在ASP.NET MVC中如何处理这个需求呢?需求描述允许自定义模板,比如:传统模板、Metro模板等模板结构实现思路1重写模板引擎的默认搜索路径 1 private void SetTemplate(string template) 2 { 3 var razorViewEngine = ViewEngines.Engines.First(x => x is RazorViewEngine) as RazorVie... 阅读全文
-
菜单导航
摘要:我的权限系统设计实现MVC4 + WebAPI + EasyUI + Knockout(二)菜单导航一、前言上篇博客中已经总体的说了一下权限系统的思路和表结构设计,那接下来我们就要进入正文了,先从菜单导航这个功能开始。二、实现这个页面基本不用什么需求分析了,大家都很明白,不过在这个页面要多维护一个东西,那就是定义页面中有哪些按钮,这个用弹出窗口做。我们技术分析一下:1、直在grid中在线编辑,使用easyui的treegrid控件可实现。2、行编辑时选择父节点,使用easyui中的combotree控件,数据源直接在treegrid中取。3、选择图标,这个没有控件可用,自己代码实现4、弹出设置 阅读全文
-
ASP.NET MVC实现仪表程序
摘要:ASP.NET MVC实现仪表程序1.1.1 摘要在大多数情况下,我们的Web程序不仅仅需要给用户提供具体数据,在一些情况下,我们还需要给高级的用户或管理者提供数据汇总和分析图表之类的功能。如果我们不想显示一大堆烦心的数据,希望通过饼图或条形图来直观地显示数据,这是我们可以考虑使用图表控件显示。大家在访问我的博客时,在左边都可以看到一个统计每天的访问人数的工具,这就是一个简单的数据仪表程序,我们可以通过它直观地知道当日的访问数和时间。在接下来的博文中,我们将向大家介绍数据仪表板程序的实现。目录UI设计Javascript导入数据ASP.NET控制器页面样式1.1.2 正文前一阵子有一篇博文关于 阅读全文
-
MVC3 带查询的分页Helper
摘要:MVC3 带查询的分页Helper接上篇mvc3 分页Helper. 带查询的分页Helper是在上一篇分页的基础上来的。下面看代码: 首先,在System.Web.Mvc命名空间下的自定义类HtmlPage下面添加一个用于处理“查询字典”的方法UrlGetParameter。 UrlGetParameter方法/// /// 根据查询字典,拼写查询参数 /// /// /// public static string UrlGetParameter(Dictionary parameters) ... 阅读全文
-
asp.net mvc4设置area里面使用相同的 Controller 名称并设置area里的页面为起始页
摘要:asp.net mvc4设置area里面使用相同的 Controller 名称并设置area里的页面为起始页1、使用重名controller 在asp.net mvc2以后的版本里面,有了area(区域的概念),这为我们开发中提供了不少方便的地方,但是很不凑巧,若是存在多个重名的controller就会发生错误,因此我们可以根据router的规则来解决这个问题。错误提示:我们可以根据错误提示来解决这个问题,在MapRoute方法添加namespaces参数,代码如下:View Codepublic static void RegisterRoutes(RouteCollection rou.. 阅读全文
-
MVC3 分页Helper
摘要:MVC3 分页Helper 利用mvc3实现分页效果。效果图如下: 直接拷代码: 首页添加一个Helper的类(命名空间为System.Web.Mvc;)。 public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, int totalCount) { var redirectTo = htmlHelper.ViewContext.RequestContext.HttpContext.Request... 阅读全文
-
使用MiniProfiler给Asp.net MVC和Entity Framework号脉(附源码)
摘要:使用MiniProfiler给Asp.net MVC和Entity Framework号脉(附源码)在学习python开发框架pylons/pyramid的过程中,里面有个非常棒的页面性能监控功能,这样在开发过程中,你能清楚的知道当前页面的性能以及其它参数。这里介绍一下如何给Asp.net MVC和Entity Framework也添加上性能监控,让你在开发过程中随时掌握当前程序运行的信息。这里是在Autofac+MVC+EF篇的源码基础上,一步一步的介绍添加Profiler的过程。如果有兴趣了解Autofac的应用,可以看这里IoC容器Autofac(4) - Autofact + Asp. 阅读全文
-
用.NET MVC实现长轮询,与jQuery.AJAX即时双向通信
摘要:用.NET MVC实现长轮询,与jQuery.AJAX即时双向通信两周前用长轮询做了一个Chat,并移植到了Azure,还写了篇博客http://www.cnblogs.com/indream/p/3187540.html,让大家帮忙测试。首先感谢300位注册用户,让我有充足的数据进行重构和优化。所以这两周都在进行大重构。其中最大的一个问题就是数据流量过大,原先已有更新,还会有Web传统“刷新”的形式把数据重新拿一次,然后再替换掉本地数据。但这一拿问题就来了,在10个Chat*300个用户的情况下,这一拿产生了一次8M多的流量,这是十分严重的事情,特别是其中绝大部分数据都是浪费掉了的。那么解决 阅读全文
-
“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现)
摘要:“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现)一、前三篇的内容是否对您有帮助呢?如果有的话,请您继续关注这篇吧,这篇主要是实现”用户管理“的功能,多种方式的增删改查,以 及对用户权限的分配,查询的时候,下面左截图中,用户姓名的模糊查询,输入w,包含w的用户名显示在下拉框中,如果数据太多,也可以使用Jquery-EasyUI的CommboGrid,请看下面的右截图。 (1)用户管理的“增删改查”,一个最基本的功能了,但是在Jquery-EasyUI中有多种方式进行增删改查。如下图: ... 阅读全文
-
分享一个自己写的MVC+EF “增删改查” 无刷新分页程序
摘要:分享一个自己写的MVC+EF “增删改查” 无刷新分页程序一、项目之前得添加几个组件artDialog、MVCPager、kindeditor-4.0。先上几个效果图。 1、首先建立一个数据库,添加一个Peoples表之后在项目中右键添加“新建项”,选择你刚才建立的数据库和表。 2、加完之后项目中会有个Peoples.edmx,这里面包括数据上下文和实体属性。 3、在Controllers右键添加“PersonController.cs”,选择强类型视图,生成对应的视图 ... 阅读全文
-
ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS
摘要:ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS背景LESS确实不错,只是每次写完LESS都要手工编译一下有点麻烦(VS插件一直没有安装好),昨天在官方看到了如何用IBundleTransform集成LESS,今天就记录一下。参考资料:http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification。代码LessTransform 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 u 阅读全文
-
ASP.NET MVC C#知识点提要
摘要:ASP.NET MVC C#知识点提要本篇博文主要对asp.net mvc开发需要撑握的C#语言知识点进行简单回顾,尤其是C# 3.0才有的一些C#语言特性。对于正在学asp.net mvc的童鞋,不防花个几分钟浏览一下。本文要回顾的C#知识点有:特性、自动属性、对象集合初始化器、扩展方法、Lambda表达式和Linq查询。C#资深“玩家”可路过。1.特性(Attributes)特性(Attributes),MSDN的定义是:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes和Microsoft 阅读全文
-
“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)
摘要:“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)一、在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增删改查的地步。测试好之后再来看这篇文章,我的主框架相对来说简答一点,重点还是实现系统的功能,以及对Jquery-EasyUI的使用。先把数据库的结构展示出来,记得是ORM思想,先写Model类和*.hbm.xml,再生成数据库,我这边已经写完,所以直接给大家看看数据库的结构吧! 分别介绍一下各个表的意思:Users:用户表。News:新闻表。UserMod... 阅读全文
-
理解模板引擎Razor 的原理
摘要:理解模板引擎Razor 的原理Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项。简洁的语法与.NET Framework 结合,广泛应用于ASP.NET MVC 项目。Razor Pad是一个编辑Razor脚本的工具,脱离于ASP.NET 和Visual Studio。微软已经有一套模板引擎T4,在设计ASP.NET MVC 3时又设计一套模板引擎Razor,对开发者而言是多一种选择,但同时也增加学习成本,至今我都没有时间和精力将Code Smith的模板转化为T4的模板。Razor 从模板到.NET 代码以cshtml为后缀名的为Razor模板,可以混 阅读全文
-
ASP.NET MVC 理解MVC模式
摘要:ASP.NET MVC 理解MVC模式PS:MVC出来很久了,工作上一直没机会用,所以我也没去学。出于兴趣,工作之余我将展开对MVC的深入学习,通过博文来记录所学所得,并希望能得到各位园友的斧正。理解一般意义上的MVC模式MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为以下三个基本部分:模型(Model):模型用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。视图(View):视图能够实现数据有 阅读全文
-
分页
摘要:分页几个月前做一个项目,就自己一个人。每个项目都会用到分页,就和老大确认了一下要怎么样的分页,是“首页、上一页、下一页、末页、去X页”这种“老式”的还是和博客园首页的分页一样的,然后他选择了后者。项目也就两周时间,所以必须用最快最方便的方式去实现,所以考虑了要不要网上直接拉一个(这种分页的网上肯定有很多)。后来想想应该也不是很困难,无非是样式什么的自己也不好,就自己搞吧,到时候套个样式。下面看一下实现效果:下面说说实现的技术:项目用的Spring+Velocity。在使用到分页的分页的地方只需要加入:1 #pager($page,"queryForm")上面使用到了自定义的 阅读全文
-
ASP.NET4.5Web API及非同步程序开发系列3
摘要:ASP.NET4.5Web API及非同步程序开发系列(3)接着上一篇博客的内容做一个补充,正好是一个大哥提出来的,我们看看一个有趣的现象。请求相关问题的补充: 我们先在Controller中的定义一个我们在前一篇博客中已经测试过的方法如下:public class DemoController : ApiController { [HttpGet] public HttpResponseMessage InsertPerson(string name,int age) { return this.Request.Creat... 阅读全文