博文
[置顶] Request.ServerVariables大全(2007-08-15 18:22:00)
摘要:Request.ServerVariables大全
Request.ServerVariables大全
ServerVariables 集合检索预定的环境变量。
语法
ASP.NET语法:
Request.ServerVariables [int index]; Request.ServerVariables [string name];asp语法:Request.ServerVariables (server environment variable); 参数
服务器环境变量
指定要检索的服务器环境变量名。可以使用下面列出的值。 变量 说明
ALL_HTTP 客户端发送的所有 HTTP 标题文件。
ALL_RAW 检索未处理表格中所有的标题。ALL_RAW 和 ALL_HTTP 不同,ALL_HTTP 在标题文件名前面放置 HTTP_ prefix,并且标题名称总是大写的。使用 ALL_RAW 时,标题名称和值只在客户端发送时才出现。
APPL_MD_PATH 检索 ISAPI DLL 的 (WAM) Application 的元数据库路径。
APPL_PHYSICAL_PATH 检索与元数据库路径相应的物理路径。IIS 通过将 APPL_MD_PATH 转换为物理(目录)路径以返回值。
AUTH_PASSWORD 该值输入到客户端的鉴定对话中。只有使用基本鉴定时,该变量才可用。
AUTH_TYPE 这是用户访问受保护的脚本时,服务器用于检验用户的验证方法。
AUTH_USER 未被鉴定的用户名。
CERT_COOKIE 客户端验证的唯一 ID,以字符串方式返回。可作为整个客户端验证的签字。
CERT_FLAGS 如有客户端验证,则 bit0 为 1。
如果客户端验证的验证人无效(不在服务器承认的 CA 列表中),bit1 被设置为 1。
CERT_ISSUER 用户验证中的颁布者字段(O=MS,OU=IAS,CN=us......
[置顶] 如何将数据库二进制图片保存到硬盘上(2007-07-24 13:14:00)
摘要:1.建立一个aspx页面,copy html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>Untitled Page</title></head><body> <form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox> <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="保存" /> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="将数据库二进制图片存到磁盘" Width="207px" /></div> </form></body>......
不经保存,直接读取上传文件的内容(2007-09-06 09:13:00)
摘要:<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void btnUpload_Click( object sender, EventArgs e ) { if (FileUpload1.PostedFile.InputStream.Length < 1) { Msg.Text = "请选择文件。"; return; } string FileName = FileUpload1.FileName; if (FileName.ToLower().IndexOf(".txt") == -1) { Msg.Text = "请选择文本文件。"; return; }
int FileLen = FileUpload1.PostedFile.ContentLength; byte[] input = new byte[FileLen]; System.IO.Stream UpLoadStream = FileUpload1.PostedFile.InputStream; UpLoadStream.Read(input, 0......
HttpHandler和HttpModule(2007-08-15 18:20:00)
摘要:ASP.Net处理Http Request时,使用Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达HttpHandler,HttpHandler处理完之后,仍经过Pipeline中各个HttpModule的处理,最后将HTML发送到客户端浏览器中。ASP.Net系统本身配置有很多HttpHandler和HttpModule,以处理aspx等.Net标准的页面文件,以及这些页面文件中标准的事件处理等。查看%System%/Microsoft.NET\Framework\v2.0.50727\CONFIG目录下的web.config文件中的httpHandlers和httpModules节点,可以看到这些配置。如果有兴趣,可以使用Reflector查看.Net系统中相关的类和方法,了解.Net如何处理以及做了什么处理。.Net也提供了一套机制来开发自定义的HttpHandler和HttpModule,均可以用于对HttpRequest的截取,完成自定义的处理。 HttpModule 继承System.Web.IHttpModule接口,实现自己的HttpModule类。必须要实现接口的两个方法:Init和Dispose。在Init中,可以添加需要截取的事件;Dispose用于资源的释放,如果在Init中创建了自己的资源对象,请在Dispose中进行释放。 namespace MyModule{ public class MyHttpModule : IHttpModule { public MyHttpModule() { } public void Init(HttpApplication r_objApplication) { r_objApplication.BeginRequest += new EventHandler(this.BeginRequest); } public......
XSL/XSLT 中实现随机排序(2007-07-25 12:15:00)
摘要:和数据库排序一样,XSL/XSLT也可以实现随机排序,原理也很简单,下面就是代码。
<?xml version="1.0"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:eMeng="http://dotnet.aspx.cc/" version="1.0"><msxsl:script language="JavaScript" implements-prefix="eMeng"> function Random() { return Math.random(); }</msxsl:script>
<xsl:template match="/"><xsl:for-each select="/*/node()"><xsl:sort select="eMeng:Random()"/><xsl:value-of select="."/><br/></xsl:for-each></xsl:template></xsl:stylesheet>
......
实用的Web进度条(2007-07-24 13:10:00)
摘要:1.建立进度条html页面progressbar.htm<script language="javascript">
function setPgb(pgbID, pgbValue) { if ( pgbValue <= 100 ) { //debugger; if (lblObj = document.getElementById(pgbID+'_label')) { lblObj.innerHTML = pgbValue + '%'; // change the label value } if ( pgbObj = document.getElementById(pgbID) ) { var divChild = pgbObj.children[0]; pgbObj.children[0].style.width = pgbValue + "%"; } window.status = "数据读取"......
Attribute在.net编程中的应用(2007-06-12 15:06:00)
摘要:Attribute的基本概念
经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行。实际上在.Net中,Attribute是一个非常重要的组成部分,为了帮助大家理解和掌握Attribute,以及它的使用方法,特地收集了几个Attribute使用的例子,提供给大家参考。
在具体的演示之前,我想先大致介绍一下Attribute。我们知道在类的成员中有property成员,二者在中文中都做属性解释,那么它们到底是不是同一个东西呢?从代码上看,明显不同,首先就是它们的在代码中的位置不同,其次就是写法不同(Attribute必须写在一对方括符中)。
什么是Atrribute
首先,我们肯定Attribute是一个类,下面是msdn文档对它的描述:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。
在.NET中,Attribute被用来处理多种问题,比如序列化、程序的安全特征、防止即时编译器对程序代码进行优化从而代码容易调试等等。下面,我们先来看几个在.NET中标准的属性的使用,稍后我们再回过头来讨论Attribute这个类本身。(文中的代码使用C#编写,但同样适用所有基于.NET的所有语言)
Attribute作为编译器的指令
在C#中存在着一定数量的编译器指令,如:#define DEBUG, #undefine DEBUG, #if等。这些指令专属于C#,而且在数量上是固定的。而Attribute用作编译器指令则不受数量限制。比如下面的三个Attribute:
Conditional:起条件编译的作用,只有满足条件,才允许编译器对它的代码进行编译。一般在程序调试的时候使用。
DllImport:用来标记非.NET的函数,表明该方法在一个外部的DLL中定义。
Obsolete:这个属性用来标记当前的方法已经被废弃,不再使用了。
下面的代码演示了上述三个属性的使用:
#define DEBUG //这里定义条件
using System;
using S......
用ASP.NET 2.0实现AJAX风格的Web开发(2007-04-03 10:05:00)
摘要:归纳来看,AJAX风格的Web应用程序展示了下列特征: · 到Web服务器的异步请求-在用户等待来自于Web服务器的响应时,浏览器用户接口不会被堵塞,而是可以继续响应用户的交互。 · 高度依赖于用JavaScript编写的基于浏览器的逻辑-W3C DOM的最新改进和标准化为实现动态的客户端UI更新提供了支持。 · 在浏览器和Web服务器之间的基于XML数据的交换-XMLHttp对象使得与Web服务器进行通讯而不需要重载页面成为可能。 一个AJAX应用程序和传统型Web应用程序之间的最大差别是,每次用户交互不会导致每一个HTTP请求都被发送到Web服务器;而是,用JavaScript实现的基于浏览器的逻辑掌握着控制权,之后再由该控制决定是局部处理请求还是向服务器作异步调用。一旦到服务器的异步调用结束,客户端逻辑立即适当更新UI的相关部分。这种方式具有下列优点: · 用户体验更为丰富。例如,当一个Google地图用户沿一个方向拖动地图时,系统就会在后台向服务器发出一个异步请求,结果是他能够在超出屏幕边界后继续拖动。这样以来,当用户进一步拖动地图时,新的图像已经可用了。这导致一种响应更快的感觉。 · 既然跨越基于XMLHttp的到服务器的调用状态并没有丢失,那么,AJAX应用程序就可以避免每次都重新生成UI界面。 · 更多的逻辑位于浏览器端,从而减少了到Web服务器的来回请求的数量,进而全面改进系统的潜力。 尽管存在这么多的优点,然而AJAX风格的应用程序还是存在一些不足之处。例如,AJAX风格应用程序的开发是比较困难的,因为缺乏相应的框架(一组类似于Windows MFC工具包的UI类)和IDE(调试,可视化设计,等等)支持。另外,基于AJAX进行开发要求一个人必须至少掌握两种语言(DHTML和JavaScript)。而且,AJAX风格应用程序的编码需要更长的时间,因为它需要另外的测试以使其支持多浏览器版本和类型。最后,由于基于JavaScript的源码为终端用户可存取,所以开发过程中的安全分析也变得非常重要。 幸好,例如Atlas,AJAX.NET和Google Maps API等工具的出现为将来构建AJAX风格的应用程序提供了更好的支持。接下来,我们将讨论一下,对于构建AJAX风格应用程序的支持技术的发展历程以及我们能够从最新发布的工具集Atlas......
asp.net常见问题(二)(2007-04-03 09:53:00)
摘要:1. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>")
接收参数:
string a = Request.QueryString("id");string b = Request.QueryString("id1");
2.为按钮添加对话框
Button1.Attributes.Add("onclick","return confirm('确认?')");button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}")
3.删除表格选定记录
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
4.删除表格记录警告
private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e){ switch(e.Item.ItemType) { case ListItemType.Item : case ListItemType.AlternatingItem : case ListItemType.EditItem: TableCell myTableCell; myTableCell = e.Item.Cells[14]; LinkButton myDeleteButton ; myDeleteButton = (LinkButton)myTableCell.Contr......
asp.net常见错误(-)(2007-04-03 09:44:00)
摘要:ASP.NET常见问题解答:
一、无法在服务器上调试
Error while trying to run project: unable to start debugging on the web server.
Would you like disable future attempts to debug asp.net pages for this project?
解决方法:说明IIS没配置好,网;"业]@rUaYj打开IIS,查看默认站点属性,选中“目录安全性”
选项卡——>编辑“匿名访问和身份验证控制”,确认“集成WINDOWS验证”被选中
二、没有权限,无法在服务器上调试
Error while trying to run project: unable to start debugging on the web server.
You do not have permissions to debug the server.
Verify that you are a member of the debugger users’ group on the server.
Would you like disable future attempts to debug asp.net pages for this project?
解决方法:由于系统安全、权限设置不合适。
(1) 确认“集成WINDOWS身份验证”被选择
(2) 再确认登陆帐户对于IIS设定的目录具有完全控制权限。
(3) 如果你创建的WEB项目是机器名,说明目前站点是一个INTERNER站点,
IE的默认设置将影响你的调试。
三、发送用于调试的HTTP请求过程中发生服务器端错误,无法在服务器上进行调试。
Error while trying to run project: unable to start debugging on the web server.
Server side-error occurred on sending debug HTTP request.
Make sure the server is operating correctly. verify there are no syntax errors in we......
