asp.net

禁用页面缓存的终极解决方法,适用于(IE/FireFox)

 在web开发中合理使用缓存可以有效的提高网站的性能,但是在某些场合下因为缓存的存在会带来很多的问题。例如:因为缓存的存在会造成重复提交数据的问题,验证码图片不能正确显示的问题,等等。这个时候我们就要禁用页面缓存的功能。        我们常用的做法是发送一个“no-cache”的指令,但是实际使用过程中我们发现,这个指令对IE是有效的,但是对Firefox却没有效,这是因为,使用该指令Firefox不缓存HTTPS pages 但是还是会缓存HTTP pages ,这是Firefox的一个BUG,解决的办法很简单,就是使用no-store代替no-cache,同时发送no-store和no-cache指令        A

附件下载直接显示另存为对话框并保存原有中文文件名的解决办法

一直都很想做这个功能,但没有时间去整理这次客户要求一定要做,只能做了一下。   原理其实很简单,就是修改一下HTTP的响应头信息就可以了。   因为我原来设计的时候就把附件的处理做成一个用户组件,所以修改起来也很简单,只要增加一个下载的界面及修改用户组件的内容即可。 具体步骤: 1、把原来显示附件的链接地址统一改为AttachDownload.aspx?attachid=xxxx 2、添加一个AttachDownload.aspx页面,具体的代码如下:    Code <!– Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ –> 1 private void Page_Load(object 

asp.net获取网站路径

网站在服务器磁盘上的物理路径: HttpRuntime.AppDomainAppPath 虚拟程序路径: HttpRuntime.AppDomainAppVirtualPath   任何于Request/HttpContext.Current等相关的方法, 都只能在有请求上下文或者页面时使用. 即在无请求上下文时,HttpContext.Current为null. 而上面提到的方法一直可用. 对于全局Cache对象的访问亦然.     ================================================================================== 示例:输出asp.net 网站路径。 private void responseHtml()     …{          System.Text.StringBuilder sb = new System.Text.StringBuilder

IIS/ASP.net下设置404错误页面

(三)IIS/ASP.net下设置404错误页面 首先,修改应用程序根目录的设置,打开 “web.config” 文件编辑,在其中加入如下内容: <configuration> <system.web> <customErrors mode=”On” defaultRedirect=”error.asp”> <error statusCode=”404″ redirect=”notfound.asp” /> </customErrors> </system.web> </configuration> 注:上文例中“error.asp”为系统默认的404页面,“notfound.asp”为自定义的404页面,使用时请修改相应文件名。 然后,在自定义的404页面“notfound.asp”中加入: <% Response.Status = “404 Not Found&rd

使用showModalDialog打开模态窗口添加数据后刷新原窗口

ASP.NET 去除所有HTML标记

 /// <summary>                 /// 去除HTML标记                 /// </summary>                 /// <param name="NoHTML">包括HTML的源码 </param>                 /// <returns>已经去除后的文字</returns>         &nb

ASP.NET 如何取得 Request URL 的各个部分

我們在開發網頁應用程式,時常需要去解析網址(Request.Url)的每個片段,進行一些判斷。例如說 "http://localhost:1897/News/Press/Content.aspx/123?id=1#toc",我們想要取得網址裡第一層目錄的名字(News)用以判斷不同的頁面標題(Page Title)。 我看很多人都用字串的 IndexOf 方法與 Substring 方法: Request.Url.PathAndQuery.Substring(1, Request.Url.PathAndQuery.IndexOf("/", 1)-1) 這實在太埋沒 .NET 的強大設計了,事實上在 Request 物件就已經提供很多方便的屬性(Property)可供取得網址的片段。 底下這張表就是各種跟 Browser Request 的網址相關的屬性與用法: 網址:http://localhost:1897/News/Press/C

IEWebControls使用介绍

1.下载地址 http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp 下载后是后缀为bat的版本 (1)bulid.将bulid.bat的路径指向csc.exe所在路径,生成Microsoft.Web.UI.WebControls.dll。 (2)在wwwroot下创建空目录webctrl_client\1_0。 (3)将build\Runtime下的文件拷至webctrl_client\1_0下。 (4)选择工具箱的自定义工具箱,添加Microsoft.Web.UI.WebControls.dll。 有些麻烦 但如果你能找到后缀是msi的自动安装版本,直接下一步就行(我一直用这个版本,hoho) 安装后,通过“自定义工具箱”->“.net框架组件”把TreeView添加到工具箱里 2.运行时无法显示 一般是T

IEWebcontrol webctrl_client目录配置

以前在服务器部署IEWebcontrol时,需要装完asp.net站点后,再安装iewebcontrols,比较麻烦。 其实在web.config文件中配置一下就可以了,不需要安装。在<configuration>下添加: <configSections>           <section name="MicrosoftWebControls" type="System.Configuration.NameValueSectionHandler, System, System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </configSections> <MicrosoftWebControls>      <add key="Com

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")     {          ̷