页面相关事件 | |
事件 | 描述 |
onAbort | 图片在下载时被用户中断 |
onBeforeUnload | 当前页面的内容将要被改变时触发的事件 |
onError | 捕抓当前页面因为某种原因而出现的错误, 如脚本错误与外部数据引用的错误 |
onLoad | 页面内空完成传送到浏览器时触发的事件,包括外部文件引入完成 |
onMove | 浏览器的窗口被移动时触发的事件 |
onResize | 当浏览器的窗口大小被改变时触发的事件 |
onScroll | 浏览器的滚动条位置发生变化时触发的事件 |
onStop | 浏览器的停止按钮被按下时触发的事件或者正在下载的文件被中断 |
onUnload | 当前页面将被改变时触发的事件 |
onMouse鼠标事件、onKey键盘事件
鼠标事件、键盘事件 | |
事件 | 描述 |
onClick | 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 |
onDblClick | 鼠标双击事件 |
onMouseDown | 鼠标上的按钮被按下了 |
onMouseUp | 鼠标按下后,松开时激发的事件 |
onMouseOver | 当鼠标移动到某对象范围的上方时触发的事件 |
onMouseMove | 鼠标移动时触发的事件 |
onMouseOut | 当鼠标离开某对象范围时触发的事件 |
onKeyPress | 当键盘上的某个键被按下并且释放时触发的事件. [注意:页面内必须有被聚焦的对象] |
onKeyDown | 当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象] |
onKeyUp | 当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象] |
GridView:当鼠标滑过,行的背景颜色发生变化
前提条件:GridView已经能正常的显示数据了!
这里我将NorthWind数据库的Category表显示出来,接着我们要是实现以下三个功能:
1、将GridView中满足CategoryID为偶数的数据行背景色改为Silver;
2、当鼠标滑过GridView中的数据行是,该数据行的颜色变为黄色,且数据字体加粗。鼠标离开行时,还原初始状态;
3、当点击GridView中的行时,行的颜色花生变化,且鼠标的形状变为手型。
这里我将NorthWind数据库的Category表显示出来,接着我们要是实现以下三个功能:
1、将GridView中满足CategoryID为偶数的数据行背景色改为Silver;
2、当鼠标滑过GridView中的数据行是,该数据行的颜色变为黄色,且数据字体加粗。鼠标离开行时,还原初始状态;
3、当点击GridView中的行时,行的颜色花生变化,且鼠标的形状变为手型。
文本框中换行、空格的转换
C#中,当我们在文本框(TextBox)中输入数据时,我们即可换行(多行文本框MultiLine),也可以打出空格。但是,当我们把文本框中的数据读出,用另一个控件显示 或者直接用Response.Write显示时却无法按我们预期的效果显示换行与空格:换行以及空格(多个空格也一样)都以一个空格显示。因此我们需要一种能转换空格和换行的方法:
C#中换行用" \r\t "表示,\r、\n的Unicode码分别为13、10;表示空格的Unicode码为32。
C#中换行用" \r\t "表示,\r、\n的Unicode码分别为13、10;表示空格的Unicode码为32。
C#中事务的应用实例(一)
在C#程序设计中我们通常在try语句块中进行数据库操作,所有我们这里就将事务的启动与结束设置在try中数据库操作的前后,而在catch异常处理中使用回滚(RollBack)动作。从而保证一旦对数据库失败,则回滚到初始状态。
【实例一】:用update命令将test数据库的my_test表中的tid>'0003'的数据记录的tname的值设为'Aillo'。然后再执行"create database Hello"的sql语句。由于在事务中不能使用create database这样的语句,故程序执行到此处的时候会抛出一个异常,进而体现了rollback的作用。运行时可先将cmd.CommandText = "create database Hello";这行注释掉运行,然后取消注释,将Aillo改成其他的名字,再运行,比较两次运行的结果。
C#中无法引用自己创建的类库中的类
【问题】:新建一个类库,其中默认有一个Class1类,自己再另外建了一个Aillo类,生成.dll后,在网站中添加该类库的引用。当在网站中只能访问到Class1类,而访问不到Aillo类。这两个类在同一个命名空间中;难道一个类库中只能有一个Class文件?错!如果类库中只能有一个类文件,那还能成为"库"吗?还不如不用类库!
【解决】:这个问题往往是由于粗心大意导致的!
1、检查 [Aillo] 类前面有没有加public。没有加访问修饰符(public、internal)的class默认是internal类型,只能在同一程序集(也就是同一工程)中才可以访问,在其他项目中不能被访问。
2、类中定义的方法也应该是public类型的,否则该方法也不能被该被调用。
【解决】:这个问题往往是由于粗心大意导致的!
1、检查 [Aillo] 类前面有没有加public。没有加访问修饰符(public、internal)的class默认是internal类型,只能在同一程序集(也就是同一工程)中才可以访问,在其他项目中不能被访问。
2、类中定义的方法也应该是public类型的,否则该方法也不能被该被调用。
将GridView中的数据导出到Excel / Word中
在C#程序设计时,我们很常用到GridView控件来显示数据,那我们怎样才能将excel中的数据导到Excel或者Word中呢?
前提条件:你的GridView已经能正常显示数据了,不管你是用代码实现的,还是直接绑定数据库实现的。
1、如果你的GridView启动了分页功能,则要先将该功能关闭,即将allowpaging的属性设为false, AllowPaging="false";然后重新调用databind()或者你自己定义的显示函数,确保所有的数据都显示在GridView中,再导完数据之后,记得把allowpaging的属性值改回来。
2、在页面中添加一个"导出"按钮,当点击该按钮时执行导出动作。双击改按钮,编写事件处理函数,添加代码如下:在用到StringWriter类的时候,要在。aspx.cs文件的头部添加命名空间:using System.IO;
前提条件:你的GridView已经能正常显示数据了,不管你是用代码实现的,还是直接绑定数据库实现的。
1、如果你的GridView启动了分页功能,则要先将该功能关闭,即将allowpaging的属性设为false, AllowPaging="false";然后重新调用databind()或者你自己定义的显示函数,确保所有的数据都显示在GridView中,再导完数据之后,记得把allowpaging的属性值改回来。
2、在页面中添加一个"导出"按钮,当点击该按钮时执行导出动作。双击改按钮,编写事件处理函数,添加代码如下:在用到StringWriter类的时候,要在。aspx.cs文件的头部添加命名空间:using System.IO;
只能在执行Render() 的过程中调用 RegisterForEventValidation;
在实现"将GridView中的数据导出到Excel中"的时候出现了如下错误:
用户代码未处理 InvalidOperationException
只能在执行 Render() 的过程中调用 RegisterForEventValidation;
EnableEventValidation属性是 .NET Framework 2.0 中是新增的属性,默认的情况下该属性的值为true;通过这个新增的功能ASP.NET会检查 POST方法中的所带的参数,如果认为不合法,就会抛出异常。这个设计的目的是为了防止恶意用户利用post 方法发送一些恶意数据,但是有时也会出现类似上面的错误。
只能在执行 Render() 的过程中调用 RegisterForEventValidation;
Gridview 访问数据库
通过使用GridView控件,我们可以让它访问数据库,进而显示数据库中表的内容,GridView访问数据库的方法的有两种,一种是通过代码实现,另一种则是直接绑定数据源。
首先,在web窗体的设计界面,从工具箱出拉出一个GridView控件,然后通过以下的方法显示数据库中的数据。
1、通过代码实现(.aspx.cs文件):
先连接数据库----用DataAdapter/DataReader访问数据库,并执行sql语句,获取所需要的数据,直接读取,或储存到特定的容器中,如DataSet。在.aspx.cs文件中添加如下代码:
XML中文显示问题
XML默认的编码格式是UTF-8,这种编码模式不显示汉字,所以经常有些初学者会遇到XML中汉字不能显示的问题,出现如下错误提示:An invalid character was found in text content...
【解决方法】:将encoding设为GB2312,即<?xml version="1.0" encoding="gb2312"?> ,这样编码格式就被设置成简体中文了。
当XML文件的数据与编码不符合的时候,就可能发生无法正确解译的错误,也可能该数据会变成空白或乱码,所以应该根据文件的数据内容选择一个恰当的编码格式。
【解决方法】:将encoding设为GB2312,即<?xml version="1.0" encoding="gb2312"?> ,这样编码格式就被设置成简体中文了。
当XML文件的数据与编码不符合的时候,就可能发生无法正确解译的错误,也可能该数据会变成空白或乱码,所以应该根据文件的数据内容选择一个恰当的编码格式。