编程技巧 - 文章列表

  • 从零开始学习ASP.NET MVC:View/Model 全解(四)

    一.摘要\n本文讲解在Action中向View传递Model的几种方式.以及View获取Model以后如何编写显示逻辑.还详细的介绍了ASP.NET MVC框架提供的Html Helper类的使用及如何为Html Helper类添加自定义扩展方法.\n二.承上启下\n上一篇文章中我们学习了Controller处理一次请求的全过程.在Controller的Action中, 会传递数据给View,还会通知View对象开始显示.所以Model是在Action中获取的, 并由Action传递给View. View对象接到Action通知后会使用自己的显示逻辑展示页面.下面首先让我们学习如何将Model

  • 浅谈ASP.NET内部机制(七)

    浅谈ASP.NET内部机制(七) --- 视图状态实战篇前言:本篇讲解与视图ViewState相关的知识,包括IStateManager,自定义转换器TypeConvert,以及和视图功能相同的控件状态。可以说本篇是对保存状态有关知识的总结,代码也详细的给出。。。。。。。。自从上次写了有关视图的文章后,收到了很多朋友的邮件,很感谢大家的支持:)很多朋友都说要求说说实践性更强的东西,所以本篇就进一步的来谈谈视图(不仅仅只是视图,而且在ASP.NET中的状态保存的话题)。首先希望大家对自定义控件有一定的了解。大家可以去参看我的控件开发系列。首先我看从一个简单的控件开发来谈起,我们在ASP.NET有

  • Asp.Net MVC:打造表单验证框架(1)

    在Web开发中,表单提交算是一种很常见的从客户端获取数据的方式了,然而,用户的行为永远都是无法预料的,为此,我们在程序中不得已必须对用户输入的数据进行严格效验,在WebForm时代我们常用的手段是验证控件,但是到了Mvc时代,再使用控件变得困难了,因此我们必须找到新的方式来解决这个问题. 在实际使用中,我们可以考虑多种形式来进行这一验证(注:本文目前只研究服务器端验证的情况),最直接的方式莫过于对每个表单值手动用C#代码进行验证了,比如:\n<!–\nCode highlighting produced by Actipro CodeHighlighter (freew

  • Asp.Net MVC:打造表单验证框架(2)

    题外话:为了不再误解,关于造轮子的事情在本篇开头再次重点提出,如果您觉得再造轮子的人是傻瓜,那直接无视我以及我的附带品好了.本文的重点并不是做了一个验证框架,真要如此,直接给出代码不就结了,或者直接来篇如何使用DataAnnotations即可,何必长篇大论来一通,如果认真看了本文就可以知道本文是讲解了如何使用TDD的方法来实现一个验证框架,同时尽可能做到通俗易懂,当然,这并不是说本文造的轮子就没有价值了,别人的总是别人的,验证框架并不是一个很复杂的东西,一个人做出一个完善的也不是什么难事,也许在某些时候土炮就比洋炮好用也说不准,最后,希望各位手下留情. 说了一通废话,下面开始正文了,本

  • 浅谈ASP.NET内部机制(八)

    浅谈ASP.NET内部机制(八)前言:之前几篇文章写了有关视图的知识,也讲述了如何实现IStateManager接口。本篇将讲解如何实现自定义转换器。当然了,有大量的代码演示!本篇算是有关视图机制的终结篇,还会讲解有关ControlStatel控件状态的实现。有个小插曲,其实之前我已经把文章写了一大半,不知道怎么回事,IE出了问题,自动关闭了,真是心痛阿,现在得重写一遍。我想每个写博文的朋友都有这样的经历吧,写一篇文章真的很不容易!在上篇中,我们讲解了如何在一个自定义控件中保存自定义类的属性,我现在再次把代码贴出来,免得大家去翻页。Code\nusing System;using System

  • ASP.NET自定义控件:实现分页功能的DataList(10)

    1. 引言在ASP.NET中DataList可以实现数据展示,我们可以通过定制其模版实现丰富的格式,但是美中不足的时DataList默认情况下不支持分页,我们当然可以编写一个用户控件以实现分页功能,但是这种方案仍然不是很好,我们希望像使用普通ASP.NET服务器端控件一样,只需要放置一个DataList并设置分页样式就可以输出分页链接。 \n在上次任务中我们创建了DataPager类将创建分页的操作从GridView分离出来,本次任务将尝试重用DataPager类为DataList增加分页特性。 \n2. 分析开发自定义GridView控件时,可以通过向控件中加入具有特定CommandName

  • 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页

    ASP.NET 3.5中新增加的ListView控件是一个用于页面数据绑定和界面布局的非常棒的控件,它在ASP.NET 2.0 GridView的基础上做了很多改进,用户在使用时可以控制的元素更多,开发时的灵活性更大了,个人觉得ListView在使用时比DataGrid和GirdView更加顺手。ListView控件本身并没有分页功能,不过借助于ASP.NET中新增加的DataPager控件,我们可以非常方便地对ListView中的数据设置分页,这几乎不需要开发人员写一行代码,将ListView控件放到页面上,设置好布局和DataSource,然后再添加一个DataPager控件,将它的Pag

  • Asp.Net Mvc:浅析TempData机制

    环境:\nWindows 2008, VS 2008 SP1, Asp.Net Mvc 1.0\n——————————————————————————\n一. Asp.Net Mvc中的TempData\n在Asp.Net Mvc框架的ControllerBase中存在一个叫做TempD

  • ASP.NET实例:ASP.NET生成报表统计图

    信息系统大多会涉及到数据的统计,如数据的导出及生成统计对比图等,记得之前有一次要生成一个统计图在WEB页面上显示,那时也是在网上找了段Code,完全是一点点画横纵轴坐标上面的画出来的,而且出来的效果也一般。最近项目的需要又有类似的要求,当然也知道随VS08一起免费发布的绘图组件功能很强大,那绘图组件要下载安装,说是只支持.NET3.5(没试验过),不过园子里我看到了飛雪飄寒 的一篇博客(http://www.dwww.cn/news/2008-7/2008719174287721.shtml ),只需引用一个dotnetCHARTING.dll,而且对于.NET1.1到.NET3.5都适用,在

  • Asp.Net网站开发中Cookie的应用

    搞开发都好几年了,突然有那么一天发现居然对cookie这个玩意是只知其然不知其所以然。 于是乎,发奋图强,找了一堆资料,深入研究了一番。这里,自己作了一下总结,列举出来,与大家共享。\n1. cookie为何物cookie实质上就是:网站存放在用户机器上的一小块文本信息。一旦浏览器接受到cookie,浏览器会把cookie的信息片段以”键/值”对的形式保存在本地.这以后, 当浏览器运行时,每次向同一服务器发送请求的时候,Web浏览器都会发送站点以前存储在本地的cookie.\n2. Cookie的成分\nname: 每个cookie由一个唯一的名称代表,这个名称可以