在配置文件中给某个ASP.NET页面单独设置编码
有时我们已经在配置文件中将整个站点的编码设置为gb2312,但某个页面却需要使用utf-8,这时我们可以在配置文件configuration节下新增location节点: 如果是要将某个页面单独设置为gb2312则为:
有时我们已经在配置文件中将整个站点的编码设置为gb2312,但某个页面却需要使用utf-8,这时我们可以在配置文件configuration节下新增location节点: 如果是要将某个页面单独设置为gb2312则为:
当使用File.Delete来删除一个只读文件,或是使用File.Copy试图覆盖一个只读文件,或是Directory.Delete删除的文件夹中某个文件是只读时,都会收到类似的错误消息: 对路径“E:\001.txt”的访问被拒绝。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.UnauthorizedAccessException: 对路径“E:\001.txt”的访问被拒绝。 ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。…
C#的函数可分成两种:有返回值和无返回值,平时我们习惯了下边的调用方式: 但有的时候我们需要调用有返回值的函数,但又不关心其返回值,也就是不需要其返回值该怎么办?例如删除数据库中的新闻,我们已经有一个函数: 在页面中直接删除新闻时通过返回值我们可以知道删除成功与否,但在删除分类的同时删除新闻时我们并不关心是否有新闻被删除,也就是不关心其返回值,这时该怎么办?需要额外的声明一个变量来接收其返回值?还是额外的创建一个功能一样但没返回值的函数?都不用,直接像调用无返回值函数那样调用有返回值函数就可以了: 想想SqlCommand对象的ExecuteNonQuery方法,他是有一个返回值的,表示受影响行数,但很多时候我们都是直接调用cmd.ExecuteNonQuery(),舍弃了返回值,只是没去注意罢了
在Web系统中经常会碰到分类:新闻分类、产品分类,在更新分类、添加新闻/产品时避免不了要树状来显示分类: 经典的数据库表结构设计如下图: 通常是写一个函数使用递归将其显示到界面上,但应对众多的显示方式似乎有些力不从心。翻看Dvbbs.DotNet 1.0.5源码得到了一些思路,新建一个字段OrderId,它表示菜单显示的位置: 显示的时候就非常方便了,只需OrderId按升序排列即可: Select ,ClassName,ParentId,OrderId,Depth From NewsClass order By orderId 结果集: 下边是更新OrderId的代码: 树状菜单显示的时候通常是需要按级数缩进的,权使用上边几个字段很难控制缩进,所以我们得再引入一个字段Depth,表示菜单的级数:…
通过分析,我将错误处理类型分为三种:立即终止型、集中处理型和立即处理型,下边分别用三个例子来做解释: 1.立即终止型:一有错立即终止程序运行并报错。 2.集中处理型:遇到错误并不立即进行处理,由内向外传递,在最外边集中进行处理。 3.立即处理型:遇到错误立即处理。 或是: 实践过程中发现几个问题,总结一下: ·无参数的 throw 语句不允许在 catch 子句之外使用; ·控制不能离开 finally 子句主体,即不允许在 finally 子句中出现 return 语句,即使它是在最后一句也不行;
在我新建的类库中有个MzwuCom.Common命名空间,其下有个Input类,代码为: 然后我在站点中添加了对这个类库项目的引用,并在Default.aspx.cs中使用Input.CutStr: 运行正常,一切看起来挺正常的,下边我们试试看在aspx页中使用Input.CutStr: 运行出错:当前上下文中不存在名称“Input”!Why?问题暂且放在一边,我们做个让人惊奇的小实验: 运行结果: 当前页面类型:ASP.default_aspx 父类型:_Default My God!这说明在运行的时候aspx页被动态生成为_Default类的一个子类ASP.default_aspx!OK,那这就不难解释为什么在aspx页中不能使用Input.CutStr了,如果一定非要使用的话可改成如下形式:…
将文档(DOCUMENT)的trace属性设置为true,这样就开启了ASP.NET页面的跟踪调试,在浏览器中打开页面看下,你会发现下边多出了许多信息:请求详细信息、跟踪信息、控件树、会话状态、应用程序状态、请求 Cookie 集合、响应 Cookie 集合、标头集合、响应标头集合、窗体集合、Querystring 集合、服务器变量,每次操作上边的信息都会相应的发生变化,这样就可以分析你感兴趣的内容了。
本控件在页面中输出一个div,并可通过编程方式设置div的宽、高、背景颜色及文本。由于是初次制作自定义控件,过程中碰到了不少问题,下边将整个制作过程分成了几个阶段,每个阶段中都解决了一些问题。 阶段一:Div控件雏形 本阶段实现了在页面上显示自定义控件,并实现了可通过编程方式设置控件各项属性,问题是每次页面回传后控件总是被初始化,即无法保存回传前的状态信息。 阶段二:能保持状态的Div控件 在阶段一的基础上实现了页面回传后仍能保存原先的状态信息,可以看到其中使用ViewState代替了阶段一中的私有字段。 说明:ViewState中保存的值都是System.Object类型,所以get时必须进行转换!…
在上边例子中我们都知道_AA是字段,BB是属性,再看下边的例子: _AA是字段还是属性?BB是字段还是属性?突然发现长久以来潜意识的竟用private和public来区分字段还是属性了,潜意识认为private的是字段,public的是属性!实际上,字段还是属性的区别应是看有无访问器,无访问器的为字段,有访问器的则为属性,所以,第二个例子中_AA仍是字段,BB仍是属性。我们再来看一个例子: 对外界而言,访问上边字段和属性其实中一样的,那字段和属性有什么区别呢?个人认为主要区别有以下几点: ·可在get和set块对属性的取值范围等做限制,而字段的范围只取决于其类型,无法精确控制; ·可通过设置get和set块的有无,设置属性的读写权限;…
.NET的CheckBoxList控件允许进行多项选择,但是其SelectedValue属性值却只能取到第一个选择项的值,如果要获取全部选择项的值必须遍历各项判断选中再获取,同样你也无法一次设置多个项为选中状态,比较麻烦。下边我们重新创建一个CheckBoxList控件,他继承于CheckBoxList类,增加了两个属性NewSelectedText和NewSelectedValue,可一次性设置或获取CheckBoxList实例全部选择项的Text和Value值。 自定义CheckBoxList控件源码 打开Microsoft Visual Studio 2005,在类库中添加新项,选择"Web 自定义控件",名称为CheckBoxList.cs:…