编程技巧 - 文章列表

  • 自定义GridView 介绍

      GridView 是Microsoft DataGrid(VS2003版本)的一个替代品,它继承了DataGrid的很多优点,同时也继承了它的很多缺点,我们在方便使用的同时,还是不免会产生一丝遗憾。早在2004年的时候,对DataGrid 进行了二次封装(DotNetGrid 介绍 ),感觉到对我们系统的性能,开发效率方面,提供了很多的帮助。所以我觉得还是有必要把这些功能升级到GridView 中,下面我将一一介绍,我的BNGridView提供了哪些方面的功能。\n总览:该控件主要包括以下几方面的功能:\n1、查询(复杂查询与简单查询相结合)。\n2、分页。\n3、支持行、列合并。\n4、

  • ASP.NET MVC案例教程(基于ASP.NET MVC beta) 第一篇:准备工作

    摘要 本文将简要介绍这个文章系列的目的、形式及大体内容。并且完成开始学习这个系列前所必要的准备工作。前言 ASP.NET MVC作为微软官方的MVC解决方案,推出有一段时间了。可以说自动推出以来,一直广受关注。在经历了漫长的Preview之后,前几天终于推出了其beta版。并且在官方文档中,微软声明最终的正式版与beta版相比不会有大的变化。所以,对于.NET平台的开发人员来说,是时候学习ASP.NET MVC了。 本系列文章作为一个ASP.NET MVC的入门教程,将不会长篇大论介绍其中的概念及理论。而是通过案例实践来学习ASP.NET MVC。在这系列文章中我

  • asp.net 2.0多语言网站解决方案

    原文:http://huerreson.cn/post/aspdotnet-multi-languages-solution.aspx\nasp.net 2.0中的App_GlobalResources可以用来解决本地化的问题,程序会根据浏览器的语言首选项自动判断显示出本地化的界面。\n首先在App_GlobalResources新建resx资源文件。如: 不同语言的resx中项目应该具有相同的名称: 中文资源项 英文资源项 \n完了以后就可以使用这些名值对了,\n<asp:Literal ID=”Literal1″ runat=”server&#82

  • ASP.NET教程系列1-ASP.NET编程模型

    一、HTTP协议:1、HTTP协议是什么我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识HTTP之前,有必要先弄清楚URL的组成,例如:http://www.microsoft.com/china/index.htm。它的含义如下:http://:代表超文本传

  • [翻译] ASP.NET MVC Tip #10 – 防止URL操作攻击

    原文地址:http://weblogs.asp.net/stephenwalther/archive/2008/06/26/prevent-url-manipulation-attacks.aspx\n摘要:在这个Tip中,Stephen Walther介绍了黑客如何通过操作URL从ASP.NET MVC网站中窃取敏感信息。Stephen Walther还探讨了如何构建单元测试来防止这类攻击。\n在一个网站上,黑客可以通过URL操作攻击来简单地访问其他用户的数据。如果你通过记录的ID来获取数据记录,而又没有针对每个数据库请求检查是否是由正确的用户发起的请求,则任何人都可以读取其他用户的数据库记

  • ExtJs2.0学习教程(12)–Ext.TreePanel之第一式

    今天开始,我们就开始一起学习TreePanel了,道个歉,上篇的代码很乱阿.我总是喜欢用最简单的例子开始,去理解最基本的使用方法,减少对i后面高级使用的干扰!TreePanel是继承自Panel,所以很多在Panel中谈到的属性这里可能会一笔带过,如有问题,请参考ExtJs2.0学习教程(2)–Ext.Panel 1.第一个静态树–最简单的树效果图:html代码:\n<!–\nCode highlighting produced by Actipro CodeHighlighter (freeware)\nhttp://www.CodeHighligh

  • ASP.NET教程系列2-页面生命周期详解

    上个系列中介绍了页面生命周期的整体流程,可能有些读者还想更进一步了解整个生命周期的细节,限于篇幅我不可能讲到所有细节,也没必要,这里仅举几个例子,大家可以通过这几个例子学习一下页面生命周期的研究方式。Control类中有如下事件// 当服务器控件绑定到数据源时发生。public event EventHandler DataBinding;\n// 当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。public event EventHandler Disposed;\n// 当服务器控件初始化时发生;初始化是控件生存期的第一步。p

  • ExtJs2.0学习教程(13)–Ext.TreePanel之第二式

    昨天有朋友说,在IE下有的时候ashx传过来的节点不能加载,其实我也出现这样的问题,很是烦人!今天extjs上看到了一个解决方案,觉得很好:如果treeLoader加载失败,会继续加载,直到成功加载。4.解决IE下非正常加载节点问题即使从服务器取到大量的数据,也没有问题。......基本代码一样,只有js代码的loader小小的修改下:\n<!–\nCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/\n–> loader

  • ASP.NET技巧:防止ASP.NET按钮多次提交的办法

    网上查了很多方法,都不太好使,不如自己写一个,思路就是把按钮按下时用Javascript在客户端把按钮下一次的onclick事件改为return false; 这样在服务器端页面重新送回客户端之前,再次点击按钮都不会Post到服务端。同时将按钮的style改为一行字的样子,光标也变成沙漏状。当服务端页面重新产生后Button又会回到初始状态。该方法对于F5刷新还不能防范,只是简单封闭了F5的按键,为了防止刷新时再次提交可以在页面返回前将一些TextBox控件清空,这样就可以判断如果该TextBox为空则不再进行后续操作(如写库)。 或是后台操作成功后跳转到另一个页面以防止恶意刷新。主要是考虑在

  • ExtJs2.0学习教程(14)–Ext.TreePanel之第三式(可增删改的树)

    继续tree的learn! 今天就来个可增删改的树吧,操作数据库就使用比较方便的Linq,无非就是增删改!\nLinqData.dbml:html代码:\n<!–\nCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/\n–><body> <div id=”container” style=”float:left; margin-right:10px;&#8221