最近项目中需要使用ASP.NET制作自定义查询功能,根据表的字段名称与条件建立不同的查询语句,这就需要知道如何通过ADO.NET把一个表的结构显示出来,并绑定到需要显示的控件上,其实ADO.NET已经提供了相应的函数来做到这一点,下面通过详细的代码实例来察看结果。 由于本人通过使用Webservice来返回数据的结果,便制作了GetTableSchema(string sqlStr)函数,详细代码如下: /// <summary> /// 名称:GetTableSchema /// 参数:string sqlStr,前台查询语句 /// 功能:获得表结构 /// 返回值:DataSet /// </summary&g...
在.net中,Session的存储机制已经与Asp的存储机制不一样,虽然可以在同一个IIS下同时运行asp与aspx,但是它们之间不能传递Session。
之前大批系统应用到了asp,在升级过程中,如果完全抛弃asp来重写,一来工作量太大,二来以前的成果不能保存下来。
所以微软提出了一个Session共享的解决方案,只是此文档光说明原理,并没有说具体的操作步骤,由此,我撰文描述过程。
简单说明原理,asp与asp.net之间的Session统一存储在数据库中来实现共享
1、创建数据表
打开SQL Server查询分析器,运行以下脚本来创建数据表,数据表名为SessionState
i...
#region 得到cpu信息 /// <summary> /// 得到cpu的信息 /// </summary> /// <param name="cpuInfo">cpu信息,输出参数</param> public static void GetCpuInfo(out string cpuInfo) { //得到cpu信息 string _cpuInfo="";//cpu信息 ManagementClass cimobject = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = cimobject.GetInstances(); foreach(ManagementObject mo in moc) ...
//获取硬盘ID string _HDInfo=""; ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc1 = cimobject1.GetInstances(); foreach(ManagementObject mo in moc1) { _HDInfo = (string)mo.Properties["Model"].Value; } HDInfo=_HDInfo; } #endregion ...
region 获取网卡硬件地址 /// <summary> /// 获取网卡硬件地址 /// </summary> /// <param name="MacAddress">输出参数,网卡硬件地址</param> public static void GetMacAddress(out string MacAddress) { //获取网卡硬件地址 string _MacAddress=""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc2 = mc.GetInstances(); foreach(ManagementObject&...
要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在.在这里使用一个cache存放已经登陆的用户名.但是还有一个问题就是要知道用户是什么时候离开系统的呢?这就要定期清除cache中的内容了,也就是设置一个cache的时间.这个时间可以跟用户的session值联系起来.刚好当用户session值失效的时候该用户在cache里面的信息也会被清空.这样就达到了防止同时登陆的效果,具体代码如下: 放在登陆成功的地方 string key = TextBox1.Text; //用户名文本框设为cache关键字 string uer = Convert.ToString(Cache[key]); //读取cache中用户相应的值 //判断cache中是否有用户的信息,如果没有...
通常web应用程序在发布后,为了给用户一个友好界面和使用体验,都会在错误发生时跳转至一个自定义的错误页面,而不是asp.net向用户暴露出来的详细的异常列表。 简单的错误处理页面可以通过web.config来设置 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors> 如果想通过编程的方式来呈现错误原因,可以通过Page_Error事件来做这件事。 另一种方式则可以通过Global.asax来实现,我觉得这种方式较为方便,另外如果能结合一个单独的更加友好的页面...
现在很多网页登陆的时候都使用了随机图片的方式,是一种简单、有效的防止黑客恶意攻击的手段。今天看了一些网上的资料,明白其生成原理:从样本中,获取随机字符串,随机字符串保存进session,并以位图的方式形成随机码图片。
实现:添加命名空间
using System.Drawing;using System.Drawing.Imaging;using System.Drawing.Drawing2D;生成页代码
using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.We...
为什么要将文件保存到数据库呢?理由很多,最直接的就是,将文件放入数据库以后,可以对文件进行更好的管理,特别是文本文件、图片等,如果不使用数据库,数量巨大的时候,很难做到有效的管理和区别。特别是需要作一些与文字密切相关的应用的时候,将文件全部放入数据库是最好的选择,对文字的处理、检索等,都可以直接利用数据库的一些功能,可以做到真正的有效管理。本文举例主要针对以文字为基础的文件,比如WORD等,但是,实际上对程序稍微修改,就可以上传所有文件类型。 数据表结构 现在,我们来看存放文件的数据库表结构,这里,我们给出建立表的...
简介 如果我们做网站是用Access数据库作为数据源,则我们最关心的是Access数据库文件的安全问题。如果我们将存有重要信息(如密码、付款信息、个人私有的数据等等)的.mdb文件,放在Web服务器上可访问的目录中,任何一个人若猜到数据库文件名就可以通过浏览器或其他下载工具进行下载,这是非常危险的。 有许多方法对.mdb数据库文件进行保护,甚至任何一个你想保护的文件。最直接有效的方法是把.mdb数据库文件放在web服务器non-web accessible目录中。许多web服务器中,都提供一个特殊的可读写的database目录,但它是不准以网页形式进行访问的。 理解IIS和asp.net如何工作 &...
由于使用ADO访问Access数据库会有缓存,这在随机提取数据库数据时,例如:sql="select top 10 Title,objectGuid from Document Order By Rnd(id)",将得不到随机记录,下面的例子可以克服这一缺陷,实现数据库的随机读取。 C#: <%@ Page Language="C#" %> <!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 Page_Load( object sender, EventArgs e ) { Random rnd = new Random(unchecked((int)DateTime.Now.Ticks)); int intRandomNumber = r...
在 asp.net 里实现 URL重写(URLRewriter)的一个最简单的方法。
参考了 (作者 Scott Mitchell 翻译:Janssen )的大作,虽然没有完全看明白,但是也照猫画虎地做了一个,颇有“成就”感。写出来分享一下。
原作里讲了很多的原理,这里就不说了(其实我也不懂)。这里就写操作过程吧。目的是实现一个最简单的能实现 URL重写 的程序。
1、需要设置一下IIS里的站点属性。
2、修改web.config的内容。
<system.web> <httpHandlers> <add verb="*" path="*.zhtml" type="ZDIL.URLRewriter.RewriterFactoryHandler, ...
最近在做政府门户时用最简单的方法实现了对url的改写成html格式,下面我把代码贴出来,供参考. using System; using System.Web; using System.Web.Caching; using System.Web.Security; using System.Text.RegularExpressions; using System.Web.SessionState; namespace DXWeb { /// <summary> /// URL 重写 /// </summary> public class UrlReWrite : IHttpHandler ,IRequiresSessionSt...
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 ...
简介 不管使用哪种底层平台,可靠性和性能都是对所有 Web 应用程序的主要要求,尽管从某种意义上讲,这两个要求是相互矛盾的。例如,要构建更可靠、更健壮的应用程序,可能需要将 Web 服务器与具体的应用程序分离,使应用程序在进程外工作。但是,如果在不同于 Web 服务器进程的内存环境中工作,应用程序将变慢。因此,需要采取合理的措施,以确保进程外代码尽可能快地运行。 在构建 Microsoft? ASP.NET 运行时环境时,依据的设计原则即:充分考虑可靠性和性能。得到的 ASP.NET 进程模型包含了两个系统元素 - 一个存在于 Web 服务器进...
FileUp.aspx 页面 1<%@ Page language="c#" Codebehind="FileUp.aspx.cs" AutoEventWireup="false" Inherits="TestCenter.FileUp" %> 2<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 3<HTML> 4 <HEAD> 5 <title>多文件上传</title> 6 <script language="JavaScript"> 7 function addFile() 8 { 9 var str = '<INPUT type="file" size="50" NAM...