asp.net
文章平均质量分 53
IsMe
这个作者很懒,什么都没留下…
展开
-
在ASP.net中,不引用第三方类库的、轻便的、将报表导出到Excel中的方法
在Asp.net 中,Web报表,是每个项目都不可避免的,而很多报表,还要求,将报表导出到 Excel 中,本文提供一种轻便的方法,来实现这一功能。 1、首先,需要在 Asp.net 项目中,添加一个类 Excel(文件名为 Excel.cs) 2、将如下代码,复制到 Excel.cs 中:using System;using System.Web.UI;usi原创 2006-06-07 06:05:00 · 2876 阅读 · 1 评论 -
在动态方法中如何尽量减少定义的 LocalBuilder 数量 (使用.net 中的动态方法编程备忘录8)
<br />动态方法中,往往是对配置文件的循环解读中生成的,很多情况下,无法预先知道需要多少变量。<br /> <br />最笨的方法,当然是每当需要时,就定义一个变量,但这样,往往造成定义太多重复类型的变量,每个只用一两次。<br /> <br />特别是,LocalBuilder 类型变量,不能赋予 null 值,所以,你无法先声明一个LocalBuilder,需要时再根据 LocalBuilder 是否为null,而采用直接使用变量还是用 ILGenerator.DeclareLocal 定义后赋值再原创 2010-07-18 10:49:00 · 1087 阅读 · 0 评论 -
OpCodes.Call 与 OpCodes.Callvirt (使用.net 中的动态方法编程备忘录7)
<br />MSDN中,对 OpCodes.Call 与 OpCodes.Callvirt 的解释,分别为:<br /> <br />OpCodes.Call:<br /> <br />调用由传递的方法说明符指示的方法。<br /> <br />堆栈转换行为依次为: <br />1.将从 arg1 到 argN 的方法参数推送到堆栈上。<br />2.从堆栈中弹出从 argN 到 arg1 的方法参数;通过这些参数执行方法调用并将控制转移到由方法说明符表示的方法。完成后,被调用方方法生成返回值并将其发送给调原创 2010-07-17 09:44:00 · 3887 阅读 · 0 评论 -
使用.net 中的动态方法编程备忘录6(OpCodes.Ldloc 与OpCodes.Ldloca)
<br />关于 OpCodes.Ldloc 和 OpCodes.Ldloca,MSDN 上说:<br /> <br />OpCodes.Ldloc:<br />将指定索引处的局部变量加载到计算堆栈上。<br /> <br />OpCodes.Ldloca:<br />将位于特定索引处的局部变量的地址加载到计算堆栈上。<br /> <br />好像说得很清楚,但其实却说得不太清楚。<br /> <br />开发过程中,曾有根据配置文件来生成动态方法的需求。在处理类似“A.B.C” 这样的对象的属性的属性时,原创 2010-07-17 02:26:00 · 2102 阅读 · 1 评论 -
使用.net 中的动态方法编程备忘录5(在动态方法中使用条件语句)
1、程序执行时,除了顺序执行外,任何程序设计语言,都有条件语句、循环语句、无条件转移语句。而条件语句,几乎每个过程都离不开。在高级程序编程语言中,使用特定的关键字,编写条件语句是很方便的,如 if语句、if-else、if-else if语句、switch语句等等。但微软中间语句(MSIL)无特定的条件语句,要实现条件转移,必须定义Label,自己以比较语句、条件转移语句组合来实现。2、分析条件语句看下面的C#示例:private static string CompareResult(int i, int原创 2010-07-08 03:14:00 · 1053 阅读 · 0 评论 -
使用.net 中的动态方法编程备忘录4(DynamicMethod 类的构造函数及访问其他类的私有成员)
使用 类 这种编程方式,一个重要原因就是类的封装性。通过不同的访问修饰符(如private、public、protected等),可限定类成员具有不同的访问级别。一般来说:private 修饰符修饰的成员,只能由该类内部访问;protected 修饰的成员,除了允许当前类访问外,还可运行继承类访问;internal 修饰的成员,可允许同一个程序集内部访问;public 修饰的成员,不但允许同一程序集内部访问,还可运行其他程序集访问(当然,类也必须是 public 的)。在创建动态方法(DynamicMeth原创 2010-07-08 01:03:00 · 1595 阅读 · 0 评论 -
使用.net 中的动态方法编程备忘录3(DynamicMethod 的最优访问方式)
由 DynamicMethod 类的语法[ComVisibleAttribute(true)]publicsealedclassDynamicMethod : MethodInfo可知,DynamicMethod 继承自 MethodInfo,所以是可以用 Invoke 方法来调用的。但这种方式效率不高,更好的方式是声明一个与动态方法返回类型、参数相同的代理,然后用 DynamicMethod 的 CreateDelegate 方法来调用动态方法。如果动态方法中的代码不涉及IO,并且访问很频繁的情况下原创 2010-07-08 00:32:00 · 1746 阅读 · 0 评论 -
使用.net 中的动态方法编程备忘录2(使用发出动态方法的意义)
软件开发,需要一定的灵活性。要实现灵活性,通常是根据配置信息,动态灵活地执行不同代码。比如一个Asp.net程序,你从数据库读出一个DataTable,按照要求,你需要为用户提供多种显示方案,如按Table方式显示时,Table不同行、列用不同格式显示。1、最笨的方法,为每种显示方式做一个页面。这种方式优点是运行效率是最高的,就对一个页面的维护来说,因逻辑简单,所以维护时逻辑也较简单;这种方式缺点是有多少显示方案,你就要为每种方案做一套页面,另外维护时虽然逻辑简单,但可能工作量较大。2、采用较灵活方式,设计原创 2010-07-08 14:54:00 · 763 阅读 · 0 评论 -
ASP.Net页面中,DropDownList、CheckBoxList控件和页面中动态控件的冲突
我在一个项目中建了个页面基类,负责诸如页面共用操作和元素,如Logo、登录信息、页脚页眉等,这些生成的页面元素,基本上都是用LiteralControl或者设置其他控件的InnerHtml来完成。 这个BasePage本来用得好好的一直没事,今天添加一个页面,页面中含有一个DropDownList,一个CheckBoxList,测试时发现提交后Items都被清空了原创 2008-05-10 19:17:00 · 3472 阅读 · 0 评论 -
RSS 2.0 DTD,网上找来两个
一、引自 http://www.cnitblog.com/TheThinKing/archive/2007/06/18/28714.html RSS 2.0 DTD -->ELEMENT rss (channel)>ATTLIST rss version CDATA #FIXED "2.0"> A channel can apparently either have one or more i转载 2008-04-26 11:11:00 · 2044 阅读 · 0 评论 -
Asp.net 中,FileUpload 上传文件为何总失败,而 HasFile 为何为 False
Asp.net 比 Asp 相比,极大地方便了程序员开发,但同时,因为因为对较低层的严密的封装,程序员难以知道其实现过程,同时,也难以干预。 做一个文件上传,开始是想在文件a.aspx 中提交,在 b.aspx 中接受的。如果在 Asp 中实现这样的功能是很简单的,但在 Aspx 中,我做实验、查资料,最终也没搞定。 后来只好在 iframe 中同文件提交和原创 2008-03-27 20:44:00 · 6491 阅读 · 4 评论 -
服务器响应HTTP的类型ContentType大全
本文引自http://9host.cn/Javascript/20074221808146365.htmlContentType 属性指定服务器响应的 HTTP 内容类型。如果未指定 ContentType,默认为 text/html。在ASP中使用它: ".*"="application/octet-stream" ".001"="application/x-001" "转载 2008-03-23 20:15:00 · 1674 阅读 · 0 评论 -
Asp.net 中从服务端代码中通过Request可得到的路径
aspx 文件在浏览器地址栏中的地址为:http://localhost:1219/Photo/Dict/LeftTree.aspx?tableID=2&nTrack=2则this.Request.Url.ToString()=http://localhost:1219/Photo/Dict/LeftTree.aspx?tableID=2&nTrack=2this.Request.Url.Ho原创 2008-03-09 20:36:00 · 1095 阅读 · 0 评论 -
在asp.net 服务端一些共用方法(包括静态方法)中使用Request和Response对象
在asp.net服务端一些公用方法(包括静态类的静态方法)中,常常需要访问调用该方法的页面的 Request 和 Response,最简单的,就是在该方法参数中添加一个Page类型的参数,在方法内通过该参数来引用 Request 和 Response。还有不通过参数的方法:System.Web.HttpContext 类有一个静态属性Current,返回当前请求的 HttpContext原创 2008-03-09 21:53:00 · 5206 阅读 · 0 评论 -
Asp.net 中,在服务端向客户端写脚本的常用方法
在Asp.net 服务端处理脚本,一般都用 ClientScriptManager ,即web窗体服务端的this.ClientScript。该对象比较常用的方法:1、RegisterArrayDeclaration:在服务端,向客户端生成一个数组定义 服务端代码: this.ClientScript.RegisterArrayDeclaration("aAry", "1,2原创 2008-03-09 21:34:00 · 2016 阅读 · 1 评论 -
用户 'NT AUTHORITY/NETWORK SERVICE' 登录失败
环境:WINDOWS Server 2003 + VS2005 + Sql Server 2005,Web 开发昨天感觉 IIS 有点问题,就运行了一下 aspnet_regiis.exe,不想,调试 Aspx 页面时,不能连接数据库了,提示:用户 NT AUTHORITY/NETWORK SERVICE 登录失败。在网上查解决方法,很多方法都有在Microsoft SQL Serve原创 2008-03-10 13:01:00 · 3219 阅读 · 0 评论 -
Ajax 应用的思考
最近看MS的Ajax,感觉是功能强大,应用范围有限。Ajax 被设计的目的,就是为了能够在不刷新页面的情况下,访问后台Web服务,并用返回数据更新页面。在Web 应用程序中,不论服务端如何实现,在客户端呈现的都是一个页面,而呈现的页面,按同页面是否需要回发、可能的回发次数,大致可分为: 不需要同页面回发,Ajax 对此类页面没有意义; 需要同页面回发,且需要多次原创 2007-10-16 16:51:00 · 1052 阅读 · 1 评论 -
在动态方法中的比较运算 (使用.net 中的动态方法编程备忘录9)
一、高级语言的比较运算比较运算,在C#中很简单,一般直接用如下运算符即可: 等于==不等于!=小于==小于等于==大于==大于等于==二、MSIL 中基元类型的比较运算在动态方法中,使用 ILGenerator 对象,OpCodes 与上述比较运算相关的,则有许多:Beq如果两个值相等,则将控制转移到目标指令 Bgq如果第一个值大于或等于第二个值,则将控制转移到目标指令。 Bge_Un当比较无符号整数值或不可排序的浮点型值时,如果第一个值大于第二个值,则将控制转移到目标指令。 Bgt如果第一个值大于第二个值原创 2010-07-21 14:31:00 · 1272 阅读 · 0 评论