DataGrid 中的"ItemCommand" 事件

ItemCommand是在运行上点击任何形式的Button都会执行的,所以在执行的时候就要判断要执行哪个命令。 比如,我在DataGrid上添加了编辑、更新、取消按钮和选择按钮,选择按钮命令名为“Select”,选择按钮添加事件事ItemCommand事件,当点击编辑按钮时程序会先执行ItemCommand后执行EditCommand,如果不想再点击编辑按钮时执行ItemCommand事件里的语句就要加一个判断,如下: private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) {     if(e.CommandName == "Select")     {          ̷

Asp.Net防止刷新重复提交数据小记

最近在用Asp.Net编写点东西时遇到个问题:即用户在提交表单后按刷新就会重复提交数据,即所谓的“刷新重复提交”的问题。在网上搜 一下,可以找到很多关于这方面的资料,其中有一篇是来自MSDN上的一种解决方法: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/BedrockASPNET.asp 它是通过重新定义 System.Web.UI.Page 类来实现加载页面时,是“刷新”、“后退”请求,还是正常请求,其他的页面则继承了自定义的这 个Page类。感觉他这个方法比较独特,有例子可以下载,有兴趣的可以研究研究。 网上最多的解决此类问题的方法就是不保存缓存,即提交后表单上的数据不会被浏览器的

asp.net获取URL和IP地址

HttpContext.Current.Request.Url.ToString() 并不可靠。 如果当前URL为  http://localhost/search.aspx?user=http://csharp.xdowns.com&tag=%BC%BC%CA%F5  通过HttpContext.Current.Request.Url.ToString()获取到的却是  http://localhost/search.aspxuser=http://csharp.xdowns.com&tag=¼¼Êõ  正确的方法是:HttpContext.Current.Request.Url.PathAndQuery 1、通过ASP.NET获取 如果测试的url地址是http://www.test.com/testweb/default.aspx, 结果如下: Request.ApplicationPath:          &nb

TimeSpan 用法 求离最近发表时间的函数

求离最近发表时间的函数   public string DateStringFromNow(DateTime dt)     {     TimeSpan span = DateTime.Now - dt;     if (span.TotalDays > 60)     {     return dt.ToShortDateString();     }     else if ( span.TotalDays > 30 )     {     return "1个月前";     }   &nb

在Web.config中指定编码

<configuration> <system.web>  <globalization requestEncoding="shift-jis" responseEncoding="shift-jis" fileEncoding="shift-jis" … /> </system.web> </configuration>   Web 开发人员可能还想要以代码页编码保存文件。可以使用 fileEncoding 属性声明编码。

SQL用户自定义函数

 //创建用户自定义函数——标量函数 create function dbo.bmrs(@bmh as int) returns int as begin declare @bmrs int select @bmrs=count(工号) from 销售人员 where 部门号=@bmh return @bmrs end go exec sp_help  销售人员 go //标量函数的调用 declare @bmrs int select @bmrs=dbo.bmrs(2) select ‘2号部门人数‘=@bmrs go select ‘2号部门人数 ‘+convert(varchar(4),dbo.bmrs(3)) select 部门经理,部门名称,实际人数=dbo.bmrs(部门号) from 部门信息 go select 部门经理,部门名称,实际人数=dbo.bmrs(部门号) from 部门信息 where 部门号=2 //创建内嵌表值函数 ———-a.订单

INSERT失败,因为下列SET选项的设置不正确:’ARITHABORT’

INSERT失败,因为下列SET选项的设置不正确:’ARITHABORT’ 2008-02-18 17:16:20 INSERT失败,因为下列SET选项的设置不正确:’ARITHABORT’ 当你在SQL Server上试图更新一个索引视图引用的表时,你可能回收到如下有错误 INSERT 失败,因为下列 SET 选项的设置不正确: ‘ARITHABORT’ 你必须在TSQL前Set ARITHABORT ON,代码如下 Set ARITHABORT ON GO INSERT INTO ta .. 在ADO中,你可以这样来写(VB代码) MyConnection.Execute "SET ARITHABORT ON" 如果以上你都觉得很麻烦或由于一些原因没法更改,你可以尝试修改SQL Server服务器选项 exec sp_dboption ‘yourdb’,'ARITHABORT&

在Repeater中嵌套使用Repeater

 在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品。最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加进去。一来更方便,二来加长了左部导航栏的长度使页面更协调。原有的分类导航栏是由Repeater实现的,现在需要在每一个分类下加入该类的商品信息,于是我想到了在原有Repeater中嵌套Repeater。 前台页面部分: <asp:Repeater id="rptCategories" runat="server">   <HeaderTemplate>     <table width="100%" border="0&qu

使用Enterprise Library时出现“System.Security.SecurityEx

使用EnterpriseLibrary的应用程序在某些机器上使用,会出现异常错误,提示信息如下: System.Security.SecurityException: 不允许所请求的注册表访问权 安全性异常 说明:应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改该应用程序的信任级别。 异常详细信息: System.Security.SecurityException: 不允许所请求的注册表访问权。 在Enterprise Library的FAQs中可以找到答案,有三种解决办法: 1. 运行安装Enterprise Library时安装的“InstallServices.bat”批处理文件。 2. 运行.NET的installutil程序设置(上面的脚本也是使用installutil命令)。 3. 去掉Common工

解决JS 同时多个onload 如body.onload,window.onload

页面中不能同时出现window.onload=…和<body onload="…"> 解决办法就是用attachEvent给onload添加所需运行的函数 程序代码 if (document.all){ window.attachEvent(‘onload’,FuncName) } else{ window.addEventListener(‘load’,FuncName,false); }