![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ASP.NET-MVC
文章平均质量分 89
kable999
电话 13159257816
展开
-
提高程序执行效率 Web开发技巧集合2
16.优化CSS。要使用方式,而不要使用@import方式。请参考这个优秀的文档http://www.slideshare.net/stubbornella/object-oriented-css。 17.使用CSS技术来优化图片资源。关于Web前段优化,欢迎访问:改善用户体验 Web前端优化策略总结 18.用GZip方式压缩.js和.css文件。如果你使用的是Apache,在 .ht原创 2011-10-24 19:11:07 · 227 阅读 · 0 评论 -
关于MVC从View向Controller传值的问题
利用asp.net mvc架构编写web应用时我们想得到了是符合 Controller/Action/ID的url,当然也不是一概而论,有些时候(比如分页时)我们还有可能希望得到别的像类似Blog/Page/ID的url这就得要在Global.asax.cs文件里配置路由了可是这样美观的URL规则有的时候得注意一点在我的一个view里有这样一个ActionL原创 2010-03-23 14:04:00 · 717 阅读 · 0 评论 -
ASP.NET MVC 入门 -- 11、使用AJAX
在ASP.NET MVC beta发布之前,M$就宣布支持开源的JS框架jQuery,然后ASP.NET MVC beta发布后,你建立一个ASP.NET MVC beta的项目后,你可以在项目的scripts目录下找到ASP.NET AJAX和jQuery的JS。反正我是比较喜欢jQuery的,所以对于M$此举还是挺欣慰的。废话不多说,我们使用AJAX来实现发表评论的功能吧。先来看看原创 2010-03-23 14:02:00 · 357 阅读 · 0 评论 -
ASP.NET MVC 入门 -- 10、Action Filter 与 内置的Filter实现(实例-防盗链)
前一篇中我们已经了解了Action Filter 与 内置的Filter实现,现在我们就来写一个实例。就写一个防盗链的Filter吧。首先继承自FilterAttribute类同时实现IActionFilter接口,代码如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHigh原创 2010-03-23 14:01:00 · 332 阅读 · 0 评论 -
ASP.NET MVC 入门 -- 9、Action Filter 与 内置的Filter实现(介绍)
ASP.NET MVC 入门 -- 9、Action Filter 与 内置的Filter实现(介绍) 收藏 docu原创 2010-03-23 13:58:00 · 589 阅读 · 1 评论 -
ASP.NET MVC 入门 -- 8、ModelState与数据验证
ViewData有一个ModelState的属性,这是一个类型为ModelStateDictionary的ModelState类型的字典集合。在进行数据验证的时候这个属性是比较有用的。在使用Html.ValidationMessage()的时候,就是从ViewData.ModelState中检测是否有指定的KEY,如果存在,就提示错误信息。例如在前一篇文章ASP.NET MVC 入门7、H原创 2010-03-23 13:57:00 · 544 阅读 · 0 评论 -
ASP.NET MVC 入门 -- 6、TempData
ASP.NET MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在ASP.NET页面间传值的方法有哪几种”这个面试题,在ASP.NET MVC中TempData的就是其中的一种传值方法。TempData默认是使用Session来存储临时数据的,TempData中存放的数据只一次访问中有效,原创 2010-03-23 13:56:00 · 342 阅读 · 0 评论 -
ASP.NET MVC 入门 -- 5、View与ViewData
view在MVC模式中与用户进行最直接的接触,它负责数据的呈现。这里要注意一点就是,view只是负责数据的呈现,所以我们应该要尽量让view中不涉及业务逻辑的处理。我们来添加一个Blog首页的view。在安装了ASP.NET MVC后,我们在添加新项目的时候可以看到有MVC的view模板: 注:如果你的是中文版的VS,安装完后可能会出现找不到这个模板的现象,你可以参考原创 2010-03-23 13:54:00 · 241 阅读 · 0 评论 -
ASP.NET MVC 入门 -- 4、Controller与Action
Controller是MVC中比较重要的一部分。几乎所有的业务逻辑都是在这里进行处理的,并且从Model中取出数据。在ASP.NET MVC Preview5中,将原来的Controller类一分为二,分为了Controller类和ControllerBase类。Controller类继承自ControllerBase类,而ControllerBase实现是了IController接口原创 2010-03-23 13:53:00 · 282 阅读 · 0 评论 -
ASP.NET MVC 入门 -- 3、Routing
本系列文章基于Microsoft ASP.NET MVC Beta.在一个route中,通过在大括号中放一个占位符来定义( { and } )。当解析URL的时候,符号"/"和"."被作为一个定义符来解析,而定义符之间的值则匹配到占位符中。route定义中不在大括号中的信息则作为常量值。下面是一些示例URL: Valid route definitions原创 2010-03-23 13:27:00 · 251 阅读 · 0 评论 -
ASP.NET MVC 入门 -- 1、简介
什么是MVC模式MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式。它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。那么MVC模式和我们熟悉的WebForm模式有什么不同呢?他的各个部分又是怎样分工的呢?我们先来看一下普通的WebForm模式下,我们请求一个例如http://www.5原创 2010-03-23 13:18:00 · 300 阅读 · 0 评论 -
URLRouting 使用方法
在分析Routing的实现原理前, 先学习如何使用Routing为ASP.NET MVC程序添加路由规则.1. 使用MapRoute()方法.这是最简单的为ASP.NET MVC添加识别规则的方法.此方法有如下重载:MapRoute( string name, string url);MapRoute( string name, string原创 2010-03-23 14:04:00 · 863 阅读 · 0 评论 -
13个不可不知的ASP.NET MVC扩展点
ASP.NET MVC设计的主要原则之一是可扩展性。处理管线(processing pipeline)上的所有(或大多数)东西都是可替换的。因此,如果您不喜欢ASP.NET MVC所使用的约定(或缺乏某些约定),您可以创建自己的服务来支持您的约定,并将其注入到主管线中。在本文中,我们将从管线开始直到视图呈现,逐一向您展示每个ASP.NET MVC开发者都必须了解13个扩展点。原创 2010-03-23 14:05:00 · 434 阅读 · 0 评论 -
ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第三篇:ASP.NET MVC全局观
摘要 本文对ASP.NET MVC的全局运行机理进行一个简要的介绍,以使得朋友们更好的理解后续文章。前言 在上一篇文章中,我们实现了第一个ASP.NET MVC页面。对于没有接触过这个框架的朋友来说,可能对有些地方会迷惑,所以这篇文章我将通过图示配合文字的方法,站在全局的角度介绍一些ASP.NET MVC的运行机制,这样可以帮助朋友们更好原创 2010-03-24 18:58:00 · 330 阅读 · 0 评论 -
请问NHibernate+spring.net+atlas和ibatis.net+castle+magicajax
其实castle是集成了nhibernate的,而nhibernate对存储过程支持性不太好,所以castle对复杂查询支持的不是太好,这点不如ibatis.net。castle里的active records对多表更新是事务支持也不太好,但是复杂查询什么的可以用HQL语句,所以大部门的查询也能应付的了,另外castle里还有IBatis.net Facility和NHiber原创 2010-05-05 10:12:00 · 1139 阅读 · 0 评论 -
BasePage继承
ASP.NET 比起傳統ASP網頁最大的好處之一,就是可以用物件導向的方式來設計網頁應用程式,這使得ASP.NET網頁的架構可以比ASP擁有更大的彈性。一 般我們建立一個Web Application後總是會加入許多不同的頁面,雖然看上去每個頁面都有各自不同的功能,但是仔細瞧瞧你一定會發現每個頁面都會有共同的特性或功能, 把這些共同的行為規畫在物件導向的繼承架構下可以建立更完善原创 2010-04-21 12:00:00 · 718 阅读 · 0 评论 -
ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第一篇:准备工作
摘要 本文将简要介绍这个文章系列的目的、形式及大体内容。并且完成开始学习这个系列前所必要的准备工作。前言 ASP.NET MVC作为微软官方的MVC解决方案,推出有一段时间了。可以说自动推出以来,一直广受关注。在经历了漫长的Preview之后,前几天终于推出了其beta版。并且在官方文档中,微软声明最终的正式版与beta版相比不会有大的变原创 2010-03-24 18:55:00 · 293 阅读 · 0 评论 -
JSP中防止重复提交
设置一个变量,只允许提交一次。javascript">var checkSubmitFlg =false;function checkSubmit() { if (checkSubmitFlg == true) { return false; } checkSubmitFlg = true; return true;}原创 2010-03-24 13:15:00 · 270 阅读 · 0 评论 -
ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第七篇:闲话ASP.NET MVC
摘要 本文作为《ASP.NET MVC案例教程》的完结篇,仅从个人角度,发表一些对ASP.NET MVC框架的看法。并且在最后会附上本系列文章的Demo下载。前言 写这篇文章的目的,是想总结一些东西,以帮助朋友们更好的使用这个框架。但是,我又不像把官方列举的哪些优势、功能翻译过来列举在这里。所以,我想干脆我就纯从个人观点上对这个框架评论一原创 2010-03-24 19:08:00 · 521 阅读 · 1 评论 -
ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第四篇:传递表单数据
摘要 本文将完成我们“MVC公告发布系统”的公告发布功能,以此展示在ASP.NET MVC中如何传递处理表单的数据。前言 通过前几篇文章,我们已经能比较自如的使用ASP.NET MVC来呈现页面和数据了。但是,有一个大问题没有解决:如何处理表单数据。例如,我们将要实现的公告发布功能,用户肯定是在某个表单页面输入标题、正文等内容,而后提交,原创 2010-03-24 19:00:00 · 298 阅读 · 0 评论 -
ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第二篇:第一个页面
摘要 本文首先一步一步完成Demo的第一个页面——首页。然后根据实现过程,说明一下其中用到的与ASP.NET MVC相关的概念与原理。让第一个页面跑起来 现在,我们来实现公告系统中的第一个页面——首页。它非常简单,只包括所有公告分类的列表,并且每个列表项是一个超链接。其中分类数据是用我们的Mock组件得到的。实现后界面如下:原创 2010-03-24 18:57:00 · 310 阅读 · 0 评论 -
关于ASP.NET中MVC之RegisterRoutes
在利用Visual Studio生成的MVC Project中的Global.asax文件中有一个RegisterRoutes方法。routes.MapRoute(“Default”, // Route name“{controller}/{action}/{id}“, // URL w/ paramsnew { controller=”Home”, action=”Ind原创 2010-03-23 16:03:00 · 1125 阅读 · 0 评论 -
ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第六篇:拦截器
摘要 本文将对“MVC公告发布系统”的发布公告功能添加日志功能和异常处理功能,借此来讨论ASP.NET MVC中拦截器的使用方法。一个小难题 我们继续完善“MVC公告发布系统”,这次,我们的需求是对公告发布功能添加日志记录能力,即在发布公告前,记录一次,在公告发布成功后,再记录一次。然后还要使得其具备异常处理,即当业务组件出现问题时,跳转原创 2010-03-24 19:05:00 · 376 阅读 · 0 评论 -
ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第五篇:MVC整合Ajax
摘要 本文将从完成“输入数据验证”这个功能出发,逐渐展开ASP.NET MVC与Ajax结合的方法。首先,本文将使用ASP.NET MVC提供的同步方式完成数据验证。而后,将分别结合ASP.NET AJAX和JQuery将这个功能重构成异步形式。数据验证 在上一篇文章中,我们完成了发布公告的功能。但是从健壮性角度看,这个功能并不完善,因为一般原创 2010-03-24 19:02:00 · 342 阅读 · 0 评论 -
Bin 和 App_Code App_Themes文件夹
如果您的 Web 应用程序包括要在多个页之间共享的代码,您可以将代码保存在 Web 应用程序根目录下的两个特殊文件夹(Bin 文件夹和 App_Code 文件夹)中的某个文件夹中。Bin 文件夹可以在 Bin 文件夹中存储编译的程序集,并且 Web 应用程序任意处的其他代码(如页代码)会自动引用该文件夹。典型的示例是您为自定义类编译好的代码。您可以将编译后的程序原创 2010-03-22 20:15:00 · 560 阅读 · 0 评论 -
实战ASP.NET MVC帮助理解Routing
ASP.NET MVC的了解,让我们从Routing开始,站在应用的角度上看,这绝对是个非常简单的,因为应用程序中只需要寥寥几行代码就可以了!所以让我们从本质的角度上去了解,认清它的工作机制。从简单开始吧:public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{原创 2010-03-22 21:14:00 · 363 阅读 · 0 评论 -
《从零开始学习ASP.NET MVC 1.0》 文章导航
识别URL的Routing组件一.摘要本篇文章从基础到深入的介绍ASP.NET MVC中的Routing组件. Routing翻译过来是"路由选择", 负责ASP.NET MVC的第一个工作:识别URL, 将一个Url请求"路由"给Controller. 二.承上启下第一篇文章中我们已经学会了如何使用ASP.NET MVC, 虽然其中还有很多的细节没有深入了解,但原创 2009-06-16 16:14:00 · 319 阅读 · 0 评论 -
动态调用webservice
通常我们在程序中需要调用WebService时,都是通过“添加Web引用”,让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务。这样是使工作简单了,但是却和提供Web服务的URL、方法名、参数绑定在一起了,这是VS.NET自动为我们生成Web服务代理的限制。如果哪一天发布Web服务的URL改变了,则我们需要重新让VS.NET生成代理,并重新编译。在某些情况下,这可能是不能忍受原创 2009-08-05 16:21:00 · 290 阅读 · 0 评论 -
优化ASP.NET 2.0 Profile Provider
优化ASP.NET 2.0 Profile Provider 你可知道优化ASP.NET 2.0 Profile Provider中有两个能进行优化的重要存储过程吗?如果在没有进行任何必要优化的情况下使用过它们,你的服务器将会因为业务量的增长而变得异常繁忙。这里有一个故事:在2006年3月份的MIX大会上展示了Pageflakes。当时我们是我们最富有魅力的时候。我们是作为支持Showca原创 2009-07-31 10:40:00 · 252 阅读 · 0 评论 -
在asp.net 2.0中使用自定义的provider
在asp.net2.0中,提供了各类的provider,有membership,role,profile等的,可以很方便地实现如角色,用户等管理,甚至不用自己写代码了。而在vs.net 2005中,默认的各类的provider是使用sql express的,有的时候,如果想使用sql sever2000或者sql server 2005,那应该怎么办呢?下面举例子说明: 首先,原创 2009-07-31 10:39:00 · 252 阅读 · 0 评论 -
实现无刷新一 实用javascript结合微软件的XMLHTTP对象
程序设计中会经常碰到一种情况,就是事先无法得知用户会需要哪些数据,必须根据用户选择后再从服务器重新提取数据后反馈给用户。比如一简单的情况,用户选择省份以后,我们立即会在市里边将这个省的所有市重新显示出来。这种情况一般需要将整个页面刷新后才可以重新读取,但这样不仅效率不高外,也显得不太优雅。其实用javascript结合微软件的XMLHTTP对象,我们可以不用刷新,“稍稍”的就可以将数据从服原创 2009-07-29 11:12:00 · 302 阅读 · 0 评论 -
无刷新二 Asp.Net2.0无刷新客户端回调
sp.Net2.0的客户端回调是一种很让人激动的方法,他能够让我们控制要提交什么数据给服务器而不用提交整个页面,同时服务器也只返回你所需要的数据而不要发回整个页面。 首先我们要说一个很重要的方法:GetCallbackEventRefernce.我把我的理解写出来,可能是错误的,恳请指出,非常感谢! GetCallbackEventReference首先实现让客户端脚本有能力传原创 2009-07-29 11:14:00 · 292 阅读 · 0 评论 -
ASP.NET 2.0客户端回调的实现分析二
编写客户端脚本 客户端脚本主要是用来在服务器端和客户端之间进行信息的交互,就拿本例来说,我们在前面的页面逻辑代码中使用了一个名为eventArgument参数,这是怎么实现参数的传递的呢?我们将在后面的章节进行讨论,现在在页面中添加如下的JavaScript函数代码function CallServer(inputcontrol,context){ /原创 2009-07-26 09:50:00 · 323 阅读 · 0 评论 -
ASP.NET 2.0客户端回调的实现分析一
开发人员使用JavaScript的一个主要原因就是可以避免回发过程中带来的页面刷新。例如我们可以根据用户的需要使用Treeview控件来展开和折叠相应的数据节点。当你展开一个节点时,该Treeview控件将会利用JavaScript读取服务器上的子节点信息,然后平滑无刷新地插入这些新节点。如果没有使用JavaScript的话,Treeview控件将会因为页面的回发而重新构建。不但用户会原创 2009-07-26 09:49:00 · 354 阅读 · 0 评论 -
asp.net中最简单实用的无刷新技术
作为从事B/S系统开发的程序员,特别是前台设计的,经常会涉及到页面的布局和用户体验,不停地想怎样把界面设计布局的恰当,怎样使用户有更好的体验。无刷新技术就是为了让用户有更好的体验,现在关于无刷新技术非常多,大家最熟悉听得最多的就是Ajax,只要一提到Ajax就代表了无刷新或异步更新。现在也出现了很多关于Ajax的框架,总之实现无刷新页面的方法有很多,可以选择的框架也很多,常用的有j原创 2009-07-26 09:38:00 · 418 阅读 · 0 评论 -
ASP.NET 2.0客户端回调的实现分析三
读取数据库信息的客户端回调程序 本程序是一个实现读取Northwind数据库的Emlpoyees信息,为此你必须先保证Northwind数据库存在。下图是Emlpoyees表的内容。Emlpoyees表的内容 在文本框输入要查找的用户名后,接着点击"回调"按钮就会发生客户端回调。这是查找到用户的显示结果原创 2009-07-26 09:50:00 · 286 阅读 · 0 评论 -
(二) 识别URL的Routing组件
一.摘要随着ASP.NET MVC 1.0版本的正式发布, 我将本系列文章也更新到了1.0, 对于已经发表的文章我都会根据1.0版本重新编辑. 希望本系列文章能打给大家帮助. 二.前言ASP.NETMVC是微软官方提供的开源MVC框架. 在经过了漫长的preview和2个RC版本后, 终于发布了1.0版本.其实从RC开始ASP.NETMVC的核心代码就已经趋于稳定.所原创 2009-06-16 16:20:00 · 218 阅读 · 0 评论 -
(三) Controller/Action 深入解析与应用实例
一.摘要一个Url请求经过了Routing处理后会调用Controller的Action方法.中间的过程是怎样的? Action方法中返回ActionResult对象后,如何到达View的? 本文将讲解Controller的基本用法, 深入分析Controller的运行机制, 并且提供了创建所有类型Action的代码. 值得学习ASP.NET MVC时参考.二.承上启下在上一篇原创 2009-06-16 16:24:00 · 296 阅读 · 0 评论 -
(四) View/Model 全解
一.摘要本文讲解在Action中向View传递Model的几种方式.以及View获取Model以后如何编写显示逻辑.还详细的介绍了ASP.NET MVC框架提供的Html Helper类的使用及如何为Html Helper类添加自定义扩展方法.二.承上启下上一篇文章中我们学习了Controller处理一次请求的全过程.在Controller的Action中,会传递数据给View原创 2009-06-16 16:25:00 · 313 阅读 · 0 评论 -
asp.net页面执行机制
以前一直不太理解asp.net页面的执行机制,所以有些程序其实写的是错误的。昨晚在修改自己以前写的小程序时才发现自己的理解太肤浅....1. 不用滥用static变量static变量在应用程序的生命周期内都存在,而且所有用户共享.所以给一个页面添加一个静态变量,可以导致多个用户使用的时候互相影响。程序发生紊乱2.不管是不是postback 每次请求一个页面都原创 2010-03-22 21:13:00 · 233 阅读 · 0 评论