Edi Wang

ASP.NET 62


GridView手写事件,包括取主键、取值、更新、选择、删除

刚才在调整网站友情链接管理页面,里面有个简单的GridView。因为更改了架构,所以需要手工给GridView编写编辑、删除等事件。最近也经常碰到有人问我GridView的问题,于是写成经验之书以警后人。 图片是本网站后台的友情链接管理页面: 1. 手写[编辑]功能时,要编写的事件: 一共有3个: RowEditing RowCancelingEdit RowUpdating 前两者的代码比较固定,一般都是: protected void gvFriendLink_RowEditing(object sender, GridViewEditEventArgs e) { gvFriendLink.EditIndex = e.NewEditIndex; FetchData(); } protected void gvFriendLink_Row...

GridView

ASP.NET生成验证码

好吧,生成验证码不是什么秘密了。原理是产生随机字符,并将字符生成为图片,同时储存到Session里去,然后验证用户输入的内容是否与Session中的验证码相符。下面是本人网站生成验证码的handler: using System; using System.Web; using System.Drawing; public class VDC : IHttpHandler, System.Web.SessionState.IRequiresSessionState { //产生验证码的字符集(去除I 1 l L,O 0等易混字符) public string charSet = "2,3,4,5,6,8,9,A,B,C,D,E,F,G,H,J,K,M,N,P,R,S,U,W,X,Y"; public void ProcessReque...

Captcha Code

用LINQ查询XML并绑定给GridView显示

前天嘴贱,建议老Y用XML存一个表格然后绑给GridView,本意是用个偷懒的办法快速解决了那个case,结果做的时候没那么方便,或者说直接把GridView绑定到一个XML文件不太好,如果通过DataTable来处理也显得比较麻烦。 比较好的办法其实是绑给业务对象,就和以前ORM一样做,GridView最终绑的是一个List。那么怎么来读取XML呢最方便呢?当然是用LINQ!可以参考我博客上的这篇文章:http://www.wyjexplorer.cn/Blog/View/EC3073A1BDFB9D90.html 今天抽出来单独写了一个Demo示众,3步搞定! 1.搞个XML文件: 1 Fucker 13838389438 No.250, Fucking Road...

GridView LINQ XML

ASP.NET给用户控件(.ascx)增加属性

我们常用ascx封装用户控件,但我们要访问ascx里的控件的值非常麻烦,如果能给用户控件封装几个属性,就可以在VS的属性面板里进行设置,或者在程序里直接访问“ascx控件.属性值”了。 其实做法很简单,因为用户控件也是一个类,所以我们可以给这个类增加属性,就像设计一个普通的类一样对待。注意,是C#的属性,是public的,而不是字段。 下面的代码演示了我如何将TinyMCE文本编辑器封装为一个Editor.ascx,并给它设置Text属性: ascx页面代码: tinyMCE.init({ // General options mode: "textareas", theme: "advanced", width: "800", height: "400"... //...

ascx 控件 属性

ASP.NET使用ashx输出图片

以前我们在.NET里动态输出图片,往往是建一个aspx,把里面的html代码都删光,然后在cs代码里用response输出一个图片类型的stream。之后指定Image控件的url为这个aspx就行。但是,更好的做法是用ashx。 先简单介绍一下ashx: ashx是ASP.NET里的web handler,用来处理Http请求。因为它不是aspx,所以它无需走aspx的生成过程,避免了事件、控件树等的处理,因此性能比aspx好,并且编写ashx只需要关心request的处理,不用关心web界面上的表现,有点类似JavaEE里的Servlet。动态生成图片这样的事用ashx做再好不过啦! 以我网站Web App里二维码生成器为例。原先生成图片的aspx后台代码如下: protected void Page_Load(object sender, EventArgs e) {...

ashx stream Image

ASP.NET Forms验证实现只有特定目录才要求登录

哥最近准备把网站的登录模块重写,采用ASP.NET自带的Forms验证方式。一直觉得微软的登录肯定要比自己写程序判断Session神马的要完善。 我的场景是这样的: 一个普通的网站,分为前台和后台。前台是给Internet访客看的,无需登录。后台是给管理员发表文章和管理网站的,要求登录才能访问。 这样的网站我们通常这样设计目录结构: Web -----网站根目录 {     Console ----- 后台管理入口     {         Default.aspx ----- 登录页(一般叫做Login.aspx)         Welcome.aspx ----- 欢迎页(登录成功就跳转到此页)         ….aspx -----各种后台页面     }     Default.aspx ----- 网站首页(无需登录就能看)     …..aspx...

Forms 登录 验证

Web.Config中保存特殊字符

最近遇到个问题,需要在web.config里保存一些特殊字符。比如“&”。但web.config,包括其他config都是XML格式的,不可以直接保存&,"&"在XML中是转义字符的标志,所以保存这个字符,需要经过转义。下面是常用字符的转义表。大家自己看一下~ 字符 转义 < > & & ' ' " "...

config

GridView不使用数据源控件做分页

ASP.NET中的GridView如果绑定数据源控件(比如SqlDataSource),那么分页只要设置AllowPaging属性为true,并且设置PageSize就可以自动实现分页。但很多时候,我们需要手工给GridView绑定数据,这时候再设置AllowPaging的话,它绝对不会理你。所以我们需要手工给它编写分页事件: 其实很简单,大家自己看一下就明白了: private void FetchData() { DataTable dt = optLeaveword.GetList(0, GeekStudio.ORM.DAL.Leaveword.OrderBy.IdDesc); gvLeaveword.DataSource = dt; gvLeaveword.DataBind(); } protected void gvLeaveword_...

GridView Paging

UEditor1.1.7开发版ASP.NET图片上传代码

以前在UEditor群里经常看到人家问图片上传怎么搞,其实很简单,UEditor已经自带了一个例子了,任何一个合格的程序员都可以写成别的语言。问ASP.NET的人居多,估计都是学生,看不懂php的代码,当然也没办法自己写.NET版了。今天我尝试了下最新的1.1.7开发版,它的图片上传功能已经和1.1.6不一样了,现在用的是Flash多图片上传,当然,后台还是要有服务器端程序支持的。截至目前,网上还没有针对1.1.7图片上传的文献,我只能自己写了一个,目前测试下来没什么问题,所以把代码发上来分享给大家。首先,打开VisualStudio,在ueditor\server\upload\net下建立一个空的ASP.NET页面,叫做up.aspx,然后把它的前台代码删光,只留一句:这是为了保证上传成功后Response.Write()出来的东西不会受到无用代码的影响。(以前手工做AJAX的时候就是...

ASP.NET UEditor

解决Global.asax中Session_Start不执行的问题

不少人用Global.asax做网站计数器,我也是,但自从上次调试URL重写和Session冲突的问题之后(参见这篇文章),突然发现计数器不动了。研究一番发现,是web.config中的设置导致Session_Start不执行。原先是这样写的: 其实只要把HtmlSession改成Session就可以修复这个问题: 这样既可以解决URL重写和Session冲突的问题,又不会引起Global.asax中Session_Start不执行~目前还没有发现额外的问题~...

Global.asax Session Session_Start