代码改变世界

随笔分类 - asp.net 2.0

ASP.NET DEMO 18: 如何编程动态创建 Menu

2009-02-22 15:55 by 晓风残月, 1598 阅读, 收藏, 编辑
摘要:ASP.NET DEMO 15: 如何编程动态创建 TreeView 的姊妹篇:[代码]示例下载 阅读全文

Request 分别获取具有相同 name 属性表单元素值—— 怀念 Classic ASP

2008-06-01 22:21 by 晓风残月, 4430 阅读, 收藏, 编辑
摘要:html 中是允许多个具有相同name属性的元素的,例如<div><input name="txtName" id="txtFirstName" type="text" /><input name="txtName" id="txtMiddleName" type="text" /><input name="txtName" id="txtLastName... 阅读全文

ASP.NET DEMO 17: 动态创建GridView绑定列/模板列

2008-05-25 23:39 by 晓风残月, 6694 阅读, 收藏, 编辑
摘要:可以发现运行时创建GridView模板列是很繁琐的事情,因此没有特殊需求,应该使用页面声明方式,动态解析构造Template这些繁琐易错的事情交由ASP.NET解析器完成。 运行时动态任何服务器控件,必须确保每次请求/回发时,动态创建控件代码都能运行,典型错误是将这些放在一个Button_Click中,当其他PostBack的时候,这些控件将会丢失。 代码技巧:匿名方法与 as 关键字的使用(C#... 阅读全文

ASP.NET DEMO 16: 通过GridView布局实现的多行批量更新

2008-05-22 02:17 by 晓风残月, 2333 阅读, 收藏, 编辑
摘要:特点: 一次可批量提交多行数据 客户端由CheckBox实现切换浏览/编辑状态,不需要回发 服务器端实现维护编辑状态视图 源码下载 <%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/... 阅读全文

IIS6+asp.net 2.0+HTTP 错误 404 - 文件或目录未找到:您正在搜索的页面可能已经删除、更名或暂时不可用。

2007-09-27 13:31 by 晓风残月, 9917 阅读, 收藏, 编辑
摘要:错误信息 您正在搜索的页面可能已经删除、更名或暂时不可用。 HTTP 错误 404 - 文件或目录未找到。 解决方法 手动开始 ASP.NET 2.0 服务扩展: 阅读全文

ASP.NET DEMO 15: 同时支持行单击和双击事件的 GridView/DataGrid

2007-09-20 23:10 by 晓风残月, 5361 阅读, 收藏, 编辑
摘要:功能: 单击行弹出当前行详细页面 双击行进入编辑状态(GridView/DataGrid内置 Edit) 说明: 单击事件(onclick)使用了 setTimeout 延迟,根据实际需要修改延迟时间 常见处理行方式会选择在 RowDataBound/ItemDataBound 中处理,这里我选择 Page.Render 中处理,至少基于以下考虑 RowDataBound 仅仅在调用 DataBi... 阅读全文

扩展 TreeView 实现选择 CheckBox 自动回发

2007-08-15 22:50 by 晓风残月, 2665 阅读, 收藏, 编辑
摘要:今天 CSDN 有一网友提出这样的需求:实现点击 TreeView 的 CheckBox 即自动 PostBackhttp://community.csdn.net/Expert/TopicView3.asp?id=5708685解决方案可以考虑:1. 在客户端手动通过 js 捕获 checkbox 的 click 事件,然后显示的执行 __doPostBack 方法 对于如何捕获事件,... 阅读全文

ASP.NET DEMO 15: 如何编程动态创建 TreeView

2007-08-10 01:53 by 晓风残月, 4606 阅读, 收藏, 编辑
摘要:CSDN 中诸多初学者每每还是在问:如何从数据库加载自关联表数据,并显示到 TreeView 上?因此,这里提供一个最简单的递归创建模型以供参考。表模型关于自关联模型的建立以及涉及的引用完整性约束,有多种策略。为了简化,此示例中 ParentID=0 表示无实际的父节点。代码 ASP.NET DEMO15: CreateTreeViewResursiveFromDb ... 阅读全文

AjaxPro 返回 DataSet/DataTable/DataView 如何呈现?

2007-07-30 01:43 by 晓风残月, 3648 阅读, 收藏, 编辑
摘要:此示例展示通过 AjaxPro 返回一个 DataSet 并在页面上通过 html table 输出。主要代码// js // .aspx.cs [AjaxPro.AjaxNamespace("AjaxProSample")]public partial class AjaxPro_ReturnDataSet : System.Web.UI.Page{ protected void... 阅读全文

ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList

2007-07-29 23:53 by 晓风残月, 2511 阅读, 收藏, 编辑
摘要:有时候希望在 GridView 模板中使用自动回发的 CheckBox (autopostback=true) ,但是 CheckBox 没有 CommandName 属性,因此也就无法在 GridView.RowCommand 事件中处理,并且如何获取当前 GridView 行信息呢?我们可以选择像处理页面上普通 CheckBox 的 CheckedChanged 事件的“最原始”的方式。要点... 阅读全文

ASP.NET DEMO 13: 如何为 SqlDataSource 动态绑定变量参数

2007-07-27 01:48 by 晓风残月, 4967 阅读, 收藏, 编辑
摘要:对于 xxxDataSource 来说,支持绑定参数,包括 ControlParameter、CookieParameter、SessionParameter、ProfileParameter 和 QueryStringParameter。假如参数值直接来自于应用程序变量或者通过某个方法返回呢?查阅了关于参数基类 Parameter 类 似乎不支持此功能,有一个选择就是扩展自己的 Paramete... 阅读全文

关于跨页提交与验证控件的问题

2007-07-27 01:02 by 晓风残月, 750 阅读, 收藏, 编辑
摘要:问题来源 a.aspx是一个注册页面.它上面有一个检测用户名格式的正则表达式控件(RegularExpressionValidator),一个检测用户名是否存在的用户自定义控件(CustomValidator). 正则表达式控件的客户端验证是关闭的,如果注册成功后就提交到b.aspx,我把一个服务器按钮的PostBackUrl="~/b.aspx"但出现问题了:当用户名不合法或者用户已经存在的情况... 阅读全文

ASP.NET DEMO 12 : CheckBoxList 实现单选

2007-07-18 23:48 by 晓风残月, 4618 阅读, 收藏, 编辑
摘要:一看标题估计大家都开始怀疑了:单选?为什么不直接使用 RadioButtonList ?是的。你是对的。然而,实际应用中需求千变万化,谁让我们的客户够 BT 呢?主要代码只有一个通用的 CheckBoxList_Click 函数,需要注意的是 CheckBoxList 可以呈现为 table 布局,也可以呈现为流布局(使用 span 做外部容器)我的习惯是,脚本代码中,尽量不直接引用 html i... 阅读全文

ASP.NET DEMO 10: 如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值

2007-07-15 21:29 by 晓风残月, 4193 阅读, 收藏, 编辑
摘要:功能需求1, 单击 checkbox 返回当前行值2, 外部按钮获取所有选择行的值实现说明参见主要代码,代码为自说明式。主要代码 ... 阅读全文

ASP.NET DEMO 8: 为 GridView/DataGrid 整行添加服务器事件

2007-07-15 00:37 by 晓风残月, 3189 阅读, 收藏, 编辑
摘要:需求说明GridView/DataGrid 本身均支持行选择事件(通过设置Button/LinkButton.CommandName="Selected",并在 SelectedIndexChanged 事件中处理)。然而,有时候我们希望用户点击 GridView/DataGrid 一行中任意位置都可以实现触发一个事件,并在服务端对此行进行相应处理,现在我们就实现此功能。实现方式这里我们采取的方法... 阅读全文

一种简单实用的 AjaxPro 调试/错误处理方式

2007-07-14 02:58 by 晓风残月, 1503 阅读, 收藏, 编辑
摘要:A. 需求说明 发现有不少网友在用 AjaxPro,看大家提供的代码示例,基本上都没有进行错误处理, 甚至很多朋友都不知道,对于 AjaxPro 返回的响应结果对象有一个 error 属性表示是否发生了错误。 AjaxPro 服务端采取基于异常的处理方式,假如调用发生异常, 返回的 error 属性包含了该异常( Exception 对象)的相关信息,包括错误信息,堆栈... 阅读全文

让 ASP.NET 2.0 的 Sumbit Button 支持 禁用(灰化)提交

2007-07-11 01:11 by 晓风残月, 1882 阅读, 收藏, 编辑
摘要:上篇文章 禁用(灰化) Button 后提交的问题 讨论了 ASP.NET 2.0 中 UseSubmitBehavior=true 即使通过 form onsumit 处理也无法有效实现完成提交前的灰化功能 曾想当然的认为可以在 form 的 onsumit 中 disable input type=submit注:ASP时代更常用此方案,可以同时对一个form具有多个提交按钮作出统一的“响应... 阅读全文

ASP.NET DEMO 7: 解决无法获取 GridView 隐藏列值问题

2007-07-10 23:54 by 晓风残月, 3691 阅读, 收藏, 编辑
摘要:在 GridView/DetailsView 中如果 BoundField 的 Visible=false 时, 回发的时候无法此列的值(GridViewRow.Cells[cellIndex].Text将为空),网上很多朋友提出了各种各样的解决方案,这里整理一下,并提供示例。未反射 GridView 类,不曾仔细阅读其源码,不知内部实现对于 BoundField(普通绑定列),当此列 Visi... 阅读全文

禁用(灰化) Button 后提交的问题

2007-07-10 01:01 by 晓风残月, 7488 阅读, 收藏, 编辑
摘要:某些处理响应时间较长,为了防止用户重复连续点击提交按钮,我们通常会在点击之后 disable 此按钮。 在 ASP.NET 2.0 中 asp:button 默认使用客户端浏览器的提交机制即呈现为 input type=submit,如果直接设置 onclientclick="this.disabled=true" ,将无法执行提交。解决方法:只有设置 UseSubmitBehavior=fals... 阅读全文

如何把 DropDownList 某一个 Item 的 Text 改成粗体 ?

2007-07-06 23:43 by 晓风残月, 727 阅读, 收藏, 编辑
摘要:这是昨天 CSDN 里面的一个帖子 http://community.csdn.net/Expert/TopicView3.asp?id=5637788今天发现竟然成为头条了。本以为,可以像设置字体颜色一样设置字形,结果大出意料,只有 FF 才可以呈现出预期的效果。 测试代码: ListItemStyle_FontWeight_Test ... 阅读全文

ASP.NET DEMO 5:如何在GridView的RowCommand事件中获取当前的GridViewRow

2007-07-05 01:12 by 晓风残月, 4907 阅读, 收藏, 编辑
摘要:由于事件参数 GridViewCommandEventArgs 并不公开Row属性指示当前行,(DataGridCommandEventArgs 公开 Item 属性以获取当前 DataGridItem,不知 ASP.NET Team 是如何考虑这一设计的),因此需要一点“技巧”来获取此属性。 其实这是一个早就已知的问题,鉴于CSDN里面每每有人疑惑,这里稍微整理下,便于参考。 至少有三种方法可... 阅读全文

ASP.NET DEMO Ⅳ : 使用数据源控件将数据绑定到 ListControl 上

2007-05-31 23:30 by 晓风残月, 1415 阅读, 收藏, 编辑
摘要:目的: 1. 展示 ListControl.AppendDataBoundItems 属性用法 2. 展示使用数据源控件绑定联动 ListControl 3.出发点: a. 今天 csdn 还有网友问,DropDownList 绑定数据后能否插入额外项?答案当然是肯定的。 b. 昨天 forums.asp.net中有人使用数据源控件绑定两个联动DRP,设置第二个DRPApp... 阅读全文

ASP.NET DEMO Ⅲ:显示固定行数的GridView(DataGrid)

2007-05-30 21:33 by 晓风残月, 3637 阅读, 收藏, 编辑
摘要:目的: 1. 当绑定数据源不足预期行数的时候,手动补充残缺空白行说明: 参考很多网络资源,方案有多种: 1.直接添加空白数据源 优点: 不需要手动维护空白行的视图状态。 样式(如间隔行、编辑状态)完全交由GridView内部处理。 通过参数设置,可以将此部分代码交由后台程序完成甚至由Stored Procedure完成,而UI部分则很统一。 不存在GridView,... 阅读全文

ASP.NET DEMO Ⅱ: 使用嵌套DataList显示主从关系

2007-05-30 00:28 by 晓风残月, 1542 阅读, 收藏, 编辑
摘要:目的: 1. 通过在DataList模板列中嵌入DataList,显示主从关系。 2. 通过客户端JS,实现主从关系关联选择 3. 遍历DataList中的项,获取选择的数据 1: 2: 3: 4: 5: 6: 1: 2: 3: 4: 5: Nested DataList 6: ... 阅读全文

ASP.NET DEMOⅠ:联动下来框(DropDownList)

2007-05-29 03:17 by 晓风残月, 1680 阅读, 收藏, 编辑
摘要:开篇废话~ 也算序下了个大胆的决定:整理出一系列 ASP.NET 实践相关的示例,来源大部分都是网络收集,然而都是自己实践总结。 约定:1.环境:ASP.NET 2.0。尽量提供 1.x 的相关信息2.编码方式:内联代码。优势是,简洁,方便测试,只需要一张 .aspx 页面3.+ 那就开始吧~ DEMOⅠ:联动下来框(DropDownList) 提示:服务端版本,虽然当前AJAX盛行,然而,... 阅读全文

交叉表的简单实现2:使用前端程序实现

2007-05-24 03:27 by 晓风残月, 1939 阅读, 收藏, 编辑
摘要:上篇介绍了 交叉表的简单实现1:使用存储过程,这里采取在前端程序实现。实现要点:1。读取所有目标成绩(flatScroreTable)2。从目标成绩中提取考试时间(不重复),作为交叉表的列表头3。从目标成绩中提取考试科目(不重复),作为交叉表的行表头4。根据2动态构建一个DataTable(crossScroreTable),此DataTable具有一个科目列,若干考试时间列,以及其他信息。5。将... 阅读全文

交叉表的简单实现1:使用存储过程

2007-05-23 02:36 by 晓风残月, 2516 阅读, 收藏, 编辑
摘要:有位朋友要求帮忙实现交叉表(将某些行变为列),之前虽然实现过,但没有整理,今天顺便整理一下,便于自己以后参考,希望对其他网友有帮助,欢迎指出不足之处^_^数据库中原始数据类似:要求前台显示为:建立表结构: CREATE TABLE [dbo].[t_Score] ( [ScoreId] [int] IDENTITY (1, 1) NOT NULL , [SubjectName] [va... 阅读全文

GridView 中格式化整理

2007-05-20 17:01 by 晓风残月, 2899 阅读, 收藏, 编辑
摘要:今天又碰到有网友问GridView 中的格式化问题了,还是在这里记下吧:设置 DataFormatString 后为什么格式化输出无效?不要忽略两个重要属性 BoundField的 HtmlEncode 和 ApplyFormatInEditMode :HtmlEncodeGridView 使用的 BoundField 与 DataGrid 使用 BoundColumn 不同,BounField ... 阅读全文

ListItem 的 Attributes 在页面回发(PostBack)之间并不会保持视图状态?

2007-05-13 05:27 by 晓风残月, 1180 阅读, 收藏, 编辑
摘要:偶然之间发现 ListItem 的 Attributes 在页面回发(PostBack)之间并不会保持视图状态,测试如下: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { ListItem item = new ListItem("hi", "0"... 阅读全文

关于 asp.net 服务器控件几个 ID 的说明

2007-04-28 01:20 by 晓风残月, 1462 阅读, 收藏, 编辑
摘要:对于每一个服务器控件System.Web.UI.Control 都具有 ID,UniqueID,ClientID 三个属性,那么这个三者到底有河关系,在客户端HTML中又是如何对应呈现的呢?ID:获取或设置分配给服务器控件的编程标识符。分配给控件的编程标识符。 (可写) 设置服务器控件上的此属性可提供对服务器控件的属性、事件和方法的编程访问。Web 开发人员可以通过在 ASP.NET 服务器控件的... 阅读全文

关于 Web Deployment Projects

2007-04-24 00:17 by 晓风残月, 1141 阅读, 收藏, 编辑
摘要:今天在 www.asp.net 中search 有关 asp.net setup 信息时,无意中碰到了 Web Deployment Projects :Web Setup + Precompilation http://forums.asp.net/thread/1462314.aspx,原来MS早在2005年晚些时候就推出了 Web Deployment Projects,最为 VS2005的... 阅读全文

标记 bgsound 竟然会导致 Forms 验证失效

2007-03-23 23:41 by 晓风残月, 237 阅读, 收藏, 编辑
摘要:今天猛然发现标记 bgsound (背景音乐)不慎使用竟然会导致Forms验证失效(估计是cookies丢失)。情景是这样:为一套报表系统实现了,站内短消息的提示,使用 bgsound 添加了背景音乐,在我自己的开发环境上一切调试正常(Windows XP SP2 + IIS 5.1 + VS 2005),然后更新已部署的原来正常运行的系统(Windows 2000 + IIS 5.0 + .ne... 阅读全文

VS2005's WebSiteProject && WebApplicationProject

2007-03-22 22:48 by 晓风残月, 502 阅读, 收藏, 编辑
摘要:很多朋友都问我WebSiteProject 与 WebApplicationProject的区别,以及WebSiteProject 如何转换到 WebApplicationProject,收集了ScottGu's blog 以及 MSDN相关文章,方便查阅:ScottGu's blogVS 2005 Web Application Project V1.0 Releasedhttp://weblo... 阅读全文

TreeView几个小技巧

2007-03-19 02:19 by 晓风残月, 14216 阅读, 收藏, 编辑
摘要:ASP.NET 2.0 提供的TreeView极大的方便了我们的树状菜单应用,但是它的很多功能都是基于PostBack的实现,有时候我们更希望在客户端完成。积累了几点,整理一下。 1。父子节点CheckBox的级联选择 这个 251 已经实现了http://www.cnblogs.com/itrust/archive/2006/04/03/365439.aspx 2。多选与单选的切换简单实现 ... 阅读全文

FCKEditor.net PK XML request error: Internal Server Error(500)"

2007-02-06 19:57 by 晓风残月, 2178 阅读, 收藏, 编辑
摘要:今天开始使用FCKEditor,按http://wiki.fckeditor.net/Developer's_Guide/Integration/ASP.Net说明以及诸多网络资料,终于搞定,可以正常加载FCKEditor,解决了常见上传问题,500问题可能是最头痛的(在“浏览服务器”页面,总是报 "XML request error: Internal Server Error(500)")可能... 阅读全文

flash 会影响 asp.net2's TreeView&Menu 的正常运行

2007-01-17 01:23 by 晓风残月, 178 阅读, 收藏, 编辑
摘要:刚装完系统忽然发现,项目中原来运行的非常好的 Menu (asp.net2.0自带那个)竟然无法正常显示了,只显示了第一层菜单,鼠标移上去并没有出现二级菜单,也没有报教本错误,重新建立一个包含Menu的页面还是可以正常显示的,试着添加一个TreeView到出错的那个页面,也无法显示,但是TreeView会报教本错误。而且使用Mathon竟然没有问题,同事电脑上的IE浏览也没有问题。百思不得其界,左... 阅读全文

ASP.NET Tricks&Tip:关于Tooltip(title)的换行问题

2006-11-21 05:15 by 晓风残月, 2187 阅读, 收藏, 编辑
摘要:我们知道,为了使对于普通 HTML 元素的title可以换行,至少可以有可以两种方式: 1。将title的文本分行写 hello world 2。插入换行符号 hello world 或者 hello world 10与13分别是换行符与回车符的ACII十进制值 如果需要对WebControl设置title(其实是tooltip属性)这两种方法都失效了,而是只需要插入编程语言内置的换行符,比如C... 阅读全文

Kaspersky Anti-Virus blocking my Ajax request

2006-11-05 22:36 by 晓风残月, 486 阅读, 收藏, 编辑
摘要:I post the report at the AjaxPro group: Kaspersky Anti-Virus blocking my Ajax request Hope it useful for somebody and glad to get senseful responses. Hi, everyone Today I find some AjaxPro Methods no... 阅读全文

www.asp.net 简体中文版正式上线了

2006-10-05 01:23 by 晓风残月, 404 阅读, 收藏, 编辑
摘要:昨天晚上因为一个Atlas问题 Passing large string as a parameter 到www.asp.net求救,竟然发现右上角的语言选项有了Chinese,MS 的本地化工作真是越来越到位了。刚才从ScottGu的blog German and Chinese sections launched on www.asp.net 知道原来中文版是刚刚发布的,看来偶还是抢先作到板... 阅读全文

带Value属性的扩展CheckBox控件

2006-08-31 12:27 by 晓风残月, 7448 阅读, 收藏, 编辑
摘要:ASP.NET 的CheckBox 提供了对 标记 的封装,但是CheckBox没有提供与客户端相对应的 value 属性,而很多时候(不管是server side 或者client side )我们在确定某个CheckBox 被 checked,也需要获取一个对应的 value。如何解决?其实方法很多。 为每个CheckBox 提供 HiddenField,将 CheckBox对应的Valu... 阅读全文

为自定义 HTTP 处理程序(HttpHandler)开启会话状态(Session)

2006-08-14 18:19 by 晓风残月, 348 阅读, 收藏, 编辑
摘要:通过实现IHttpHandler可以方便的对ASP。net应用程序进行扩展,并实现一些底层的交互。今天,偶然碰到了,在实现IHttpHanlder的类中无法访问Session,HttpContext.Current.Session返回的是NULL,查了MSDN,原来: 如果您的处理程序将访问会话状态值,它必须实现 IRequiresSessionState 接口(不包含任何方法的标记接口)。 果然... 阅读全文

GridViewCommandEventArgs 事件参数没有包含用于指示单击按钮所在行的属性?

2006-08-05 20:55 by 晓风残月, 1944 阅读, 收藏, 编辑
摘要:datagrid、datalist、repeat的ItemCommand 事件参数都有一个Item属性可以得到激发当前事件控件所在行,但是GridView的GridViewCommandEventArgs 却没有这个属性不过,MSDN也说明了解决方案: 注意 ... 阅读全文

自定义GridView分页模板

2006-06-13 14:12 by 晓风残月, 8951 阅读, 收藏, 编辑
摘要:GridView较之DataGrid提供了更加强大、更加完善的功能,而且具备了丰富的可扩展功能,可以使用GridView提供的pagertemplate自定义分页模板: 事实上,GridView默认的几中分页样式,都是将相关按钮的CommandName设为Page,而CommandArgument设为相关参数,可接受的参数包括,first,last,prev,next,(具体数字),然后按事件回溯... 阅读全文

Visual Studio 2005 Web Application Projects

2006-06-03 20:35 by 晓风残月, 254 阅读, 收藏, 编辑
摘要:刚结束一个ASP.NET 2项目,非常的不习惯VS2005 Web Site的模式,要命的是还不提供命名空间的设定,虽然ASP.NET 2.0支持三种编译模型(ASP.NET 2.0 中的代码隐藏和编译 ),可以每一页,每个用户控件编译成单独的dll,甚至可以将.aspx,ascx的内容编译进dll,但是总觉得没有VS2003的熟悉,当你在WebSite中子文件夹中添加一个aspx或者ascx他总... 阅读全文

如何在服务器端获取丰富的客户端信息?

2006-04-02 18:52 by 晓风残月, 1429 阅读, 收藏, 编辑
摘要:在Web开发中,我们面对可能是各式各样的客户端。而不同的浏览器、相同浏览器的不同版本支持不同的功能。在Web应用程序中,我们可能需要确定用户正在使用哪种类型的浏览器查看页,并且可能需要确定该浏览器是否支持某些特定功能。因此,我们经常需要获取客户端的信息,比如浏览器版本、平台版本、是否支持DHTML等,进而对客户端请求作出最大的适应性响应以满足兼容性;我们知道,ASP.NET 本身可以自动确定客户端... 阅读全文