博文
[置顶] 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>......
不经保存,直接读取上传文件的内容(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.I......
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);
&nb......
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 + "%";
}
&......
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;
usi......
用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......
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 ;
 ......
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......