asp论坛页面如何实现现页面显示目录中的文件名并添加链接

5896人阅读
FileUpload控件
FileName: 获取上传的文件名
HasFile: 是否选择(存在)上传的文件
ContentLength: 获得上窜文件的大小,单位是字节(byte)
Server.MapPath(): 获取服务器上的物理路径
SaveAs(): 保存文件到指定的文件夹
注意:默认情况下限制上传文件大小为4MB,通过ments(这个设置是全局的配置)可以修改其默认设置
或者通过修改web.config文件来改变应用程序上传限制.
&httpRuntime maxRequestLength=&10240& executionTimeout=&150& enable=&true&/&
maxRequestLength: 设置上传文件大小,单位是kb.
executionTimeout: 允许执行请求的最大秒数,此功能必须在Compilation元素中Debug属性为false时才生效.
enable: 指定是否在当前的节点及子节点级别启用应用程序域 (AppDomain),以接受传入的请求。如果为 False,则实际上关闭了该应用程序。默认值为 True.
通俗的说就是:是否允许用户访问该网站(是否允许Http请求)
注意:如果上传文件超过maxRequestLength大小,会出现页面无法显示的情况.
检查文件上传类型:
1).客户端检查(javascript实现)(在控件中使用onclientclick&&&asp:Button ID=&Button1& runat=&server& onclick=&Button1_Click& &OnClientClick=&checkType()& Text=&上傳& /&)
2).服务器端检查
&script type=&text/javascript& language=&javascript&&
function checkType() {
//得到上传文件的值
var fileName = document.getElementById(&FileUpLoad1&).
//返回String对象中子字符串最后出现的位置.
var seat = fileName.lastIndexOf(&.&);
//返回位于String对象中指定位置的子字符串并转换为小写.
var extension = fileName.substring(seat).toLowerCase();
//判断允许上传的文件格式
//if(extension!=&.jpg&&&extension!=&.jpeg&&&extension!=&.gif&&&extension!=&.png&&&extension!=&.bmp&){
//alert(&不支持&+extension+&文件的上传!&);
var allowed = [&.jpg&, &.gif&, &.png&, &.bmp&, &.jpeg&];
for (var i = 0; i & allowed. i++) {
if (!(allowed[i] != extension)) {
alert(&不支持& + extension + &格式&);
&/script&控件代码:
&asp:FileUpload ID=&FileUpload1& runat=&server& onpropertychange=&show1(this.value)& /&
&asp:Button ID=&Button1& runat=&server& onclick=&Button1_Click&
OnClientClick=&checkType()& Text=&上傳& /&上传按钮事件:
protected void Button1_Click(object sender, EventArgs e)
string constr = ConfigurationManager.ConnectionStrings[&SqlConnection&].ConnectionS
con = new SqlConnection(constr);
if (this.FileUpload1.HasFile)
string strName = FileUpload1.PostedFile.FileN //使用FileUpload控件获取上传文件的文件名,FileUpload1为控件的ID
if (strName != &&) //如果文件名存在
int i = strName.LastIndexOf(&.&);//获取“.“的索引顺序号
string ext = strName.Substring(i);//获取文件扩展名
string newName = Guid.NewGuid().ToString();//生成新的文件名,保证唯一性
string relativePath = &admin\\images&;//设置文件相对网站根目录的保存路径
string absolutePath = Server.MapPath(&~\\admin\\images&);
//得到文件保存绝对路径
//if (!Directory.Exists(absolutePath))//如果images不存在,就创建
Directory.CreateDirectory(absolutePath);//创建文件images
string newFileName = absolutePath + &\\& + newName +//得到带新文件名的完整物理路径
fileUpload.PostedFile.SaveAs(newFileName);//图片存储到服务器
txtImageUrl.Text = relativePath + &\\& + newName +//包含相对路径的图片名
//判断文件是否小于10Mb
if (this.FileUpload1.PostedFile.ContentLength & )
//上传文件并指定上传目录的路径
this.FileUpload1.PostedFile.SaveAs(Server.MapPath(&~/Img/&)
+ this.FileUpload1.FileName);
/*注意-&这里为什么不是:FileUpLoad1.PostedFile.FileName
* 而是:FileUpLoad1.FileName?
* 前者是获得客户端完整限定(客户端完整路径)名称
* 后者FileUpLoad1.FileName只获得文件名.
//当然上传语句也可以这样写(貌似废话):
//FileUpLoad1.SaveAs(@&D:\&+FileUpLoad1.FileName);
this.Label1.Text = &上传成功!&;
string sql = string.Format(&insert into Img(ImgUrl,ImgSize,ImgName) values('{0}','{1}','{2}')&, Server.MapPath(&~/Img/&) + this.FileUpload1.FileName, this.FileUpload1.PostedFile.ContentLength, this.FileUpload1.FileName);
SqlCommand cmd = con.CreateCommand();
mandText =
con.Open();
SqlTransaction tran = con.BeginTransaction();
cmd.Transaction =
i= cmd.ExecuteNonQuery();
catch(Exception ex)
tran.Rollback();
con.Close();
if (i == 1)
this.Response.Write(&&Script Language='JavaScript'&window.alert('上傳團片& + i.ToString() + &張')&/script&&);
catch (Exception ex)
this.Label1.Text = &出现异常,无法上传!&;
//lblMessage.Text += ex.M
this.Label1.Text = &上传文件不能大于10MB!&;
this.Label1.Text = &尚未选择文件!&;
&asp:FileUpload ID=&FileUpload1& runat=&server& onpropertychange=&show(this.value)&/&
&asp:Image ID=&Image1& runat=&server&
在上传控件中写onpropertychange=&show(this.value)&事件并调用js中的show函数并将自身的参数传进js.(显示原图片,选择图片后就会产生,不用点上传按钮)
&script type=&text/javascript&&
function show(id)
document.getElementById(&Image1&).src=
&/script&下面代码用于显示缩略图的地方:
&div id=&divview& WIDTH: 166 HEIGHT: 190px&&
&/div&下面显示缩略图的js代码
&script type=&text/javascript&&
function show1(upimg)
var dd=document.getElementById(&divview&);
dd.filters.item(&DXImageTransform.Microsoft.AlphaImageLoader&).src =
dd.style.width = 166;
dd.style.height = 190;
dd.filters.item(&DXImageTransform.Microsoft.AlphaImageLoader&).sizingMethod = 'scale';
完整的aspx文件
&%@ Page Language=&C#& AutoEventWireup=&true& CodeFile=&文件上传.aspx.cs& Inherits=&文件上传& %&
&!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&&/title&
&form id=&form1& runat=&server&&
&asp:FileUpload ID=&FileUpload1& runat=&server& onpropertychange=&show1(this.value)& /&
&asp:Button ID=&Button1& runat=&server& onclick=&Button1_Click&
OnClientClick=&checkType()& Text=&上傳& /&
&script type=&text/javascript&&
function show(id)
document.getElementById(&Image1&).src=
&script type=&text/javascript&&
function show1(upimg)
var dd=document.getElementById(&divview&);
dd.filters.item(&DXImageTransform.Microsoft.AlphaImageLoader&).src =
dd.style.width = 166;
dd.style.height = 190;
dd.filters.item(&DXImageTransform.Microsoft.AlphaImageLoader&).sizingMethod = 'scale';
&script type=&text/javascript& language=&javascript&&
function checkType() {
//得到上传文件的值
var fileName = document.getElementById(&FileUpLoad1&).
//返回String对象中子字符串最后出现的位置.
var seat = fileName.lastIndexOf(&.&);
//返回位于String对象中指定位置的子字符串并转换为小写.
var extension = fileName.substring(seat).toLowerCase();
//判断允许上传的文件格式
//if(extension!=&.jpg&&&extension!=&.jpeg&&&extension!=&.gif&&&extension!=&.png&&&extension!=&.bmp&){
//alert(&不支持&+extension+&文件的上传!&);
var allowed = [&.jpg&, &.gif&, &.png&, &.bmp&, &.jpeg&];
for (var i = 0; i & allowed. i++) {
if (!(allowed[i] != extension)) {
alert(&不支持& + extension + &格式&);
&asp:Label ID=&Label1& runat=&server& Text=&Label&&&/asp:Label&
&asp:Image ID=&Image1& runat=&server& /&
&div id=&divview& WIDTH: 166 HEIGHT: 190px&&
完整的ASPX.CS文件
using System.Collections.G
using System.L
using System.W
using System.Web.UI;
using System.Web.UI.WebC
using System.C
using System.D
using System.Data.SqlC
public partial class 文件上传 : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
protected void Button1_Click(object sender, EventArgs e)
string constr = ConfigurationManager.ConnectionStrings[&SqlConnection&].ConnectionS
con = new SqlConnection(constr);
if (this.FileUpload1.HasFile)
string strName = FileUpload1.PostedFile.FileN //使用FileUpload控件获取上传文件的文件名,FileUpload1为控件的ID
if (strName != &&) //如果文件名存在
int i = strName.LastIndexOf(&.&);//获取“.“的索引顺序号
string ext = strName.Substring(i);//获取文件扩展名
string newName = Guid.NewGuid().ToString();//生成新的文件名,保证唯一性
string relativePath = &admin\\images&;//设置文件相对网站根目录的保存路径
string absolutePath = Server.MapPath(&~\\admin\\images&);
//得到文件保存绝对路径
//if (!Directory.Exists(absolutePath))//如果images不存在,就创建
Directory.CreateDirectory(absolutePath);//创建文件images
string newFileName = absolutePath + &\\& + newName +//得到带新文件名的完整物理路径
fileUpload.PostedFile.SaveAs(newFileName);//图片存储到服务器
txtImageUrl.Text = relativePath + &\\& + newName +//包含相对路径的图片名
//判断文件是否小于10Mb
if (this.FileUpload1.PostedFile.ContentLength & )
//上传文件并指定上传目录的路径
this.FileUpload1.PostedFile.SaveAs(Server.MapPath(&~/Img/&)
+ this.FileUpload1.FileName);
/*注意-&这里为什么不是:FileUpLoad1.PostedFile.FileName
* 而是:FileUpLoad1.FileName?
* 前者是获得客户端完整限定(客户端完整路径)名称
* 后者FileUpLoad1.FileName只获得文件名.
//当然上传语句也可以这样写(貌似废话):
//FileUpLoad1.SaveAs(@&D:\&+FileUpLoad1.FileName);
this.Label1.Text = &上传成功!&;
string sql = string.Format(&insert into Img(ImgUrl,ImgSize,ImgName) values('{0}','{1}','{2}')&, Server.MapPath(&~/Img/&) + this.FileUpload1.FileName, this.FileUpload1.PostedFile.ContentLength, this.FileUpload1.FileName);
SqlCommand cmd = con.CreateCommand();
mandText =
con.Open();
SqlTransaction tran = con.BeginTransaction();
cmd.Transaction =
i= cmd.ExecuteNonQuery();
catch(Exception ex)
tran.Rollback();
con.Close();
if (i == 1)
this.Response.Write(&&Script Language='JavaScript'&window.alert('上傳團片& + i.ToString() + &張')&/script&&);
catch (Exception ex)
this.Label1.Text = &出现异常,无法上传!&;
//lblMessage.Text += ex.M
this.Label1.Text = &上传文件不能大于10MB!&;
this.Label1.Text = &尚未选择文件!&;
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:564972次
积分:8044
积分:8044
排名:第1967名
原创:213篇
转载:329篇
评论:37条
(2)(7)(2)(7)(3)(1)(2)(8)(3)(10)(3)(2)(1)(29)(22)(4)(8)(16)(7)(4)(2)(1)(18)(45)(1)(18)(13)(14)(15)(12)(9)(10)(9)(15)(16)(4)(12)(14)(28)(18)(14)(9)(7)(5)(7)(7)(37)(3)(11)(1)(4)(18)(8)2012年 总版技术专家分年内排行榜第一
2013年 总版技术专家分年内排行榜第七2011年 总版技术专家分年内排行榜第五2009年 总版技术专家分年内排行榜第九
2012年 总版技术专家分年内排行榜第一2007年 总版技术专家分年内排行榜第二2006年 总版技术专家分年内排行榜第二2004年 总版技术专家分年内排行榜第二
2005年 总版技术专家分年内排行榜第三2003年 总版技术专家分年内排行榜第三2002年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第一2007年 总版技术专家分年内排行榜第二2006年 总版技术专家分年内排行榜第二2004年 总版技术专家分年内排行榜第二
2005年 总版技术专家分年内排行榜第三2003年 总版技术专家分年内排行榜第三2002年 总版技术专家分年内排行榜第三
本帖子已过去太久远了,不再提供回复功能。25051人阅读
编程(69)
一.应用框架技术
---- 要在宿主页面中嵌入外部页面的方法是,在宿主页面中包含外部页面的位置插入“& IFRAME name=&XXX& width=X height=X frameborder=0 src=&XXX.htm& && /IFRAME &”语句即可(注意: & IFRAME &标签中的各种属性含义请查阅相关技术手册)。
---- 如果想在嵌入的外部页面过长时不出现滚动条,在外部文件& body &标签中加入“scroll=no”或者在宿主页面& IFRAME &标签中加入“scrolling=no”即可。
---- 但这样做会出现一个问题,就是宿主页面和外部页面背景色不同,这样会给人造成页面不是一个整体的感觉。这时,只要在引入的外部文件中使用和宿主页面相同的背景色就可以解决这一问题。注意,如果您使用的是IE 5.5或以上版本的话,直接在标签& IFRAME &内设置属性allowTransparency=&true&(即框架背景透明)即可。
---- 在应用框架技术时,为什么不使用框架页面(即& FRAMESET &)呢?现在有很多网站是通过使用框架页面来分割版面的,并达到了统一网站整体风格的目的,但笔者的体会是框架页面的操作灵活性较差,不像内建框架(即& IFRAME &)这样可以在宿主页面中的任何位置插入。
二.使用Scriptlets组件技术
---- 应用这种技术的方法是在宿主页面中包含外部页面的位置插入“& OBJECT style=&border: 0px& type=&text/x-scriptlet& data=&XXX.htm& width=X Height=X && /OBJECT &”语句即可(注意: & OBJECT &标签中的各种属性含义请查阅相关技术手册)。
---- 在IE 5.0及以后版本中,scriptlets和Html组件(HTCs)被重新命名为Windows脚本编程组件(WSC),其特点类似于上文所讲的框架技术。它有自己的不透明方形区域,并覆盖在宿主页面上,因此不能很平滑地用于具有纹理背景的宿主页面中,其工作方式类似于ActiveX控件,具有自己独立的事件、方法和属性。
三.使用脚本文件技术
---- 我们知道document.write方法可以在宿主页面中输出内容,这样就可以通过在宿主页面中引入外部脚本文件来达到嵌入外部页面的目的。方法是在宿主页面中包含外部页面的位置插入“& SCRIPT language=&javascript& src=&import.js& && /SCRIPT &”,然后对外部页面进行改造,将每一行内容写入document.write中,并另外保存在扩展名为js的新文件中。
---- 这种方法的特点是外部页面不具有自己的方形区域,和宿主页面浑然一体,但由于外部页面内容全部写在脚本中,无法做到所见即所得,必须等到脚本运行时才能看到实际效果,这样就为修改调试增加了困难。
四.使用内置行为技术
---- 在IE 5.0及以后版本,引入了一项被称为“DHTML行为”的新功能,并在其中内置了许多默认行为。当将一种行为应用于宿主页面上的标准HTML元素时,它可以增强该元素的默认功能,并提供该行为中定义的任何新方法、属性或事件。其实大家对行为技术并不陌生,微电脑世界2001年18期的《主页加入收藏设置面面观》一文就提到了利用IE中内置的homepage行为技术进行主页设置的方法。我们同样可以利用IE 5.0内置的download行为,来达到在宿主页面中嵌入外部页面的目的,其代码如下。
&span id=&outHTML&&&/span&
&IE:Download ID=&ieDownload& STYLE=&behavior:url(#default#download)& /&
function onDownloadDone(downDate){
outHTML.innerHTML=downDate
ieDownload.startDownload('../static/article.htm',onDownloadDone)
---- 其原理就是使用download行为提供的startDownload方法下载一个外部文本文件,并将文件中的文本内容作为参数传递给onDownloadDone函数,然后再由该函数对文本内容进行处理,在本例中是作为showImport对象的内容显示出来。如果在函数中对文本内容做相应的处理,并与相关技术结合,如XML,就可以实现更为复杂的功能。
---- 这种方法使得外部页面不再具有自己的方形区域,和宿主页面浑然一体; 提供了更大的灵活性,通过使用对象的innerHtml属性可以真正做到在宿主页面的任何位置插入外部文件内容; 修改简单,只须用可视网页编辑软件(如FrontPage 2000)将外部页面修改即可轻松改变网站整体风格。可以说这是在宿主页面中嵌入外部页面的最好方法 (注: 以上代码在Windows 98 SE/IE 5.0中测试通过)。
网页设计特效实用代码
在线制作icon图标
/html-kit/services/favicon/
进入主页以后自动播放声音
&embed src=&& hidden=true autostart=true loop=true&
进入主页后自动最大话,省的去在自己单击了
self.moveTo(0,0)
self.resizeTo(screen.availWidth,screen.availHeight)
显示现在时间的脚本
&script language=vbscript&document.write now&/script&
显示最后修改时间的脚本
&script&document.write(document.lastModified)&/script&
设为首页,加为收藏,加入频道,启动outlook发信
&a style=&cursor:hand& 
onclick=&this.style.behavior=&url(#default#homepage)&;
this.setHomePage(&yourURL&&设为首页&/a&
&a style=&cursor:hand&
onclick=&window.external.AddFavorite(location.href,document.title);&&加入收藏&/a&
&a href=javascript:window.external.addChannel(&typhoon.cdf&)&加入频道&/a&
&a href=&youEmail&&与我联系&/a&
Flash中在按钮上如何加“设为首页”“加入收藏”?action怎么写啊?
on (release) {
getURL(&javascript:void(document.links[0].style.behavior='url(#default#homepage)');void document.links[0].setHomePage(&#/& target=&_blank&&/');&, &_self&);
加入收藏:
on(release) {
getURL(&javascript:window.external.AddFavorite(&#/& target=&_blank&&/','E佳工作室')&);
状态栏动态显示现在时间
function see(){
window.setTimeout(&see()&,1000);
today = new Date();
self.status = today.toString();
&body onload=see()&
关闭窗口的脚本
&a href=javascript:close()&[关闭窗口]&/a&
窗口定时关闭
先将如下代码网页文件的&head&&/head&区:
 &script language=&JavaScript&&
 function closeit() { setTimeout(&self.close()&,10000) //毫秒 }
 &/script&
然后再在&body&&/body&标内加入如:&body onload=&closeit()&&
网页自动关闭
 &object id=closes type=&application/x-oleobject&
 classid=&clsid:adb880a6-d8ff-11cf-3b7a11&&
 &param name=&Command& value=&Close&&
 &/object&
 &body onload=&window.setTimeout('closes.Click()',10000)&&
 这个窗口会在10秒过后自动关闭,而且不会出现提示.
按下F12键,直接返回首页
&script&function look(){
if(event.keyCode==123){document.location.href=http://www./}
if(document.onkeydown==null)
{document.onkeydown=look}
后退,刷新,前进
&input type=button value=后退 onclick=history.go(-1)&
&input type=button value=刷新 onclick=history.go(-0)&
&input type=button value=前进 onclick=history.go(+1)&
设定时间弹出窗口,4000=4秒,当然你可以自定义
&script&function l() {
window.open(&yourURL&,&name&,&width=500,height=150,border=0&)
setTimeout(&l()&,4000)
随机替换图片&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&script&
 document.write('&img src=&img/'+parseInt(Math.random()*(5))
 +'.gif&height=&40& width=&50&&')
图片文件名为0.gif 1.gif 2.gif 3.gif 4.gif
防止表格被撑破的代码
&table width=100 border=1&
&tr&&td style=&word-break:break-all&&aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&/td&&/tr&
Dreamweaver里画细线标格
&table style=&border-collapse: collapse&&
有没有可能用层来遮住FLASH?
1.在flash的parameters里加入 &param name=&wmode& value=&transparent&&
2.&body onblur=self.focus()&
如何让Flash按钮同时打开两个网页
最简单的办法,最一个按扭,把
on(press){
getURL(&http://www.*****.com&;,_blank);
getURL(&http://www.*****.com&;,_blank);
加在按扭上
怎样点不同的链接在同一个Iframe里显示?
&table width=&510& border=&0& cellspacing=&0& cellpadding=&0&&
&td width=&218& align=&center& bgcolor=&#eeeeee&&&a href=&http://www.******.com&; target=&manager&&blueidea&/a&
&td width=&292& align=&center& bgcolor=&#eeeeee&&&a href=&http://www.******.com/bbs&; target=&manager&&bbs&/a&&/td&
&td height=&200& colspan=&2&&&iframe border=0 frameborder=0 framespacing=0 height=200 marginheight=0 marginwidth=0 name=manager scrolling=&NO& noresize src=&http://www.******.com&; width=500 vspale=&0&&&/iframe&&/td&
节日倒计时
&Script Language=&JavaScript&&
   var timedate= new Date(&October 1,2002&);
   var times=&国庆节&;
   var now = new Date();
   var date = timedate.getTime() - now.getTime();
   var time = Math.floor(date / (1000 * 60 * 60 * 24));
   if (time &= 0)
   document.write(&现在离&+times+&还有: &+time +&天&)
随机变换背景图象(一个可以刷新心情的特效)
在&head&&/head&之间加上如下代码:
&Script Language=&JavaScript&&
   image = new Array(4); //定义image为图片数量的数组
   image [0] = 'tu0.gif' //背景图象的路径
   image [1] = 'tu1.gif'
   image [2] = 'tu2.gif'
   image [3] = 'tu3.gif'
   image [4] = 'tu4.gif'
   number = Math.floor(Math.random() * image.length);
   document.write(&&BODY BACKGROUND=&+image[number]+&&&);
select挡住div的解决方法
在div里加入下面的代码,根据需要调整就可以了。
&iframe src=&javascript:false& scrolling=&no& frameborder=&0& style=&z-index:-1;position: top:5 left:2width:168;height:100&&
服务器上如何定义连接
MM_www_STRING =&driver={Microsoft access Driver (*.mdb)};dbq=& & server.mappath(&../data/www.mdb&)
response.redirect&login.asp&
location.href=&xx.asp&
userip = Request.ServerVariables(&HTTP_X_FORWARDED_FOR&)
If userip = && Then userip = Request.ServerVariables(&REMOTE_ADDR&)
sql=&update feedbak set hit=hit+1 where id=&&request(&id&)
conn.execute(sql)
截取字符是否加...
function formatStr(str,len)
if(len(str)&len)
str = left(str,len) + &...&
formatStr = str
end function
If Ucase(Request.ServerVariables(&REQUEST_METHOD&)) = &POST& then
&script language=&javascript&&
function DrawImage(ckp){
var image=new Image();
image.src=ckp.
if(image.width&0 && image.height&0)
if(image.width&120){
ckp.width=120;
ckp.width=image.
ckp.alt=image.width+&×&+image.
I'll be Back 22:18:06
&img src=&&%=formPath%&/&%=rs(&photoname&)%&& border=&0& &
&meta http-equiv=refresh content='0; url=/distributor/distributor.aspx'&
溢出栏的设制
visible:超出的部分照样显示;
hidden:超出的部分隐藏;
scrool:不管有否超出,都显示滚动条;
auto:有超出时才出现滚动条;
onMouseOver:鼠标移到目标上;
onMouseUp:按下鼠标再放开左键时;
onMouseOut:鼠标移开时;
onMouseDown:按下鼠标时(不需要放开左键);
onClink:点击时;
onDblClick:双击时;
onLoad:载入网页时;
onUnload:离开页面时;
onResize:当浏览者改变浏览窗口的大小时;
onScroll:当浏览者拖动滚动条的时。
a:link:表示已经链接;
a:hover:表示鼠标移上链接时;
a:active:表示链接激活时;
a:visited:表示己点击过的链接。
跳出对话框链接
javascript:alert('lajflsjpjwg')
后退:javascript:history.back(1)
关闭窗口:javascript:window.close();
function restore(){
window.moveTo(8,8);
window.resizeTo(screen.width-24,screen.availHeight-24);
head区是指首页HTML代码的&head&和&/head&之间的内容。
必须加入的标签
1.公司版权注释
&!--- The site is designed by Maketown,Inc 06/2000 ---&
2.网页显示字符集
简体中文:&META HTTP-EQUIV=&Content-Type& C&
繁体中文:&META HTTP-EQUIV=&Content-Type& C&
英 语:&META HTTP-EQUIV=&Content-Type& C&
3.网页制作者信息
&META name=&author& c&
4.网站简介
&META NAME=&DESCRIPTION& C&
5.搜索关键字
&META NAME=&keywords& C&
6.网页的css规范
&LINK href=&style/style.css& rel=&stylesheet& type=&text/css&&
(参见目录及命名规范)
7.网页标题
&title&xxxxxxxxxxxxxxxxxx&/title&
可以选择加入的标签
1.设定网页的到期时间。一旦网页过期,必须到服务器上重新调阅。
&META HTTP-EQUIV=&expires& C&
2.禁止浏览器从本地机的缓存中调阅页面内容。
&META HTTP-EQUIV=&Pragma& C&
3.用来防止别人在框架里调用你的页面。
&META HTTP-EQUIV=&Window-target& C&
4.自动跳转。
&META HTTP-EQUIV=&Refresh& C&
5指时间停留5秒。
5.网页搜索机器人向导.用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。
&META NAME=&robots& C&
CONTENT的参数有all,none,index,noindex,follow,nofollow。默认是all。
6.收藏夹图标
&link rel = &Shortcut Icon& href=&favicon.ico&&
所有的javascript的调用尽量采取外部调用.
&SCRIPT LANGUAGE=&javascript& SRC=&script/xxxxx.js&&&/SCRIPT&
附&body&标签:
&body&标签不属于head区,这里强调一下,为了保证浏览器的兼容性,必须设置页面背景&body bgcolor=&#FFFFFF&&
在flash的源代码中加上:&param name=&wmode& value=&transparent&& 表格透明
style=&FILTER: alpha(opacity=72)&
网址前添加icon的方法
1、上 editor online制作一个图标。他会将做好的图标通过email即时发送给你。
2、把这个命名为favicon.ico的图标放置在index.html同一个文件夹中。就可以了。
作一个图标文件,大小为16*16像素。文件扩展名为ico,然后上传到相应目录中。在HTML源文件“<head></head>”之间添加如下代码:
<Link Rel=&SHORTCUT ICON& href=&&>
其中的“SHORTCUT ICON”即为该图标的名称。当然如果用户使用IE5或以上版本浏览时,就更简单了,只需将图片上传到网站根目录下,自动识别
可以在收藏夹中显示出你的图标
&link rel=&Bookmark& href=&favicon.ico&&
状态栏连接说明
&A HREF=&链接到某处& &某某链接&/a&
&a href=“”Title=链接说明&
禁止鼠标右键
在&body&标签中加入 &body &
禁止复制,鼠标拖动选取
&body ondragstart=window.event.returnValue=false oncontextmenu=window.event.returnValue=false onselectstart=event.returnValue=false&
&hr width=&长度& size=&高度& color=&颜色代码& noshade& noshade为有无阴影
表单电子邮件提交
& form name=&content& method=&post& action=&mailto:电子邮箱& && /form&
文本域名为Subject 为邮件的标题
邮件链接定制
Mailto:地址 ? Subject=邮件的标题 &bc=抄送 &bcc=密件抄送
&bgsound src=地址 loop=&-1&&
消除ie6自动出现的图像工具栏,设置 GALLERYIMG属性为false或no .
&IMG SRC=&mypicture.jpg& HEIGHT=&100px& WIDTH=&100px& GALLERYIMG=&no&&
防止点击空链接时,页面往往重置到页首端
代码“javascript:void(null)”代替原来的“#”标记
如何避免别人把你的网页放在框架中
&script language=“javascript”&&!--if (self!=top){top.location=self.} --&& /script&
页面定时刷新
&meta http-equiv=&Refresh& c &
页面定时转向新的地址
&meta http-equiv=&refresh& c&
&script language=&javascript&&&!--
today=new Date();
if(today.getDay()==0) week=&星期日&
if(today.getDay()==1) week=&星期一&
if(today.getDay()==2) week=&星期二&
if(today.getDay()==3) week=&星期三&
if(today.getDay()==4) week=&星期四&
if(today.getDay()==5) week=&星期五&
if(today.getDay()==6) week=&星期六&
date=(today.getYear())+&年&+(today.getMonth()+1)+&月&+today.getDate()+&日&+& &
document.write(&&span style='font-size: 9'&&+date+week+&&/span&&);
插入边框为0的1行1列的表格,在表格中输入文字,选中文字,
按ctrl+t输入marquee direction=&up&, 回车即可让文字在表格区域内向上滚动。
(right、down可用于让文字或图象向右及向下滚动,修改html原代码还可以得到需要的滚动速度。
&SCRIPT language=javascript&
function checkform(theform){
if(theform.name.value==&&){
alert(&姓名不能为空!&);
theform.name.focus();
if(theform.tel.value==&&){
alert(&电话不能为空!&);
theform.tel.focus();
body{cursor: url(cur.ani或cur);}
以图片方式插视频
&IMG height=240 loop=infinite dynsrc=.cn/EFUADD0001.rmvb width=320&
层在flash上面
& param name=&wmode& value=&opaque& &
&meta http-equiv=refresh content='3; url=javascript:window.close();'&
javascript:;
标题表格
&fieldset&
&legend&表格的说明&/legend&
&/fieldset&
细线表格
style=&BORDER-COLLAPSE:&
滚动条颜色代码
SCROLLBAR-FACE-COLOR: #FFFFFF;
SCROLLBAR-HIGHLIGHT-COLOR: #FFFFFF;
SCROLLBAR-SHADOW-COLOR: #FFFFFF;
SCROLLBAR-3DLIGHT-COLOR: #FFCBC8;
SCROLLBAR-ARROW-COLOR: #FFFFFF;
SCROLLBAR-TRACK-COLOR: #FFFFFF;
SCROLLBAR-DARKSHADOW-COLOR: #FFCBC8;
SCROLLBAR-BASE-COLOR: #FFFFFF
连续的英文或者一堆感叹号!!!不会自动换行的问题
只要在CSS中定义了如下句子,可保网页不会再被撑开了
table{table-layout:}
td{word-break: break- word-wrap:break-}
注释一下:
1.第一条table{table-layout:},此样式可以让表格中有!!!(感叹号)之类的字符时自动换行。
2.td{word-break: break-all},一般用这句这OK了,但在有些特殊情况下还是会撑开,因此需要再加上后面一句{word-wrap:break-}就可以解决。此样式可以让表格中的一些连续的英文单词自动换行。
控制横向和纵向滚动条的显隐?
&body style=&overflow-y:hidden&& 去掉x轴
&body style=&overflow-x:hidden&& 去掉y轴
&body scroll=&no&&不显
表格变色
&TD onmouseover=&this.style.backgroundColor='#FFFFFF'&
onmouseout=&this.style.backgroundColor=''&
style=&CURSOR: hand&&
普通iframe页面
&iframe name=&name& src=&main.htm& width=&450& height=&287& scrolling=&Auto& frameborder=&0&&&/iframe&
iframe自适应高度
&iframe name=&pindex& src=&index.asp& frameborder=false scrolling=&auto& width=&100%& height=&100%& frameborder=no onload=&document.all['pindex'].style.height=pindex.document.body.scrollHeight& &&/iframe&
iframe(嵌入式帧)自适应高度
填写的嵌入地址一定要和本页面在同一个站点上,否则会提示“拒绝访问!”。对跨域引用有权限问题,请查阅其他资料。
&iframe name=&guestbook& src=&gbook/index.asp& scrolling=no width=&100%& height=&100%& frameborder=no onload=&document.all['guestbook'].style.height=guestbook.document.body.scrollHeight&&&/iframe&
越来越多的人长时间的泡网,眼镜的普及率也越来越高,让文字大点,让更多的用户看的更清楚。
&script type=&text/javascript&&
function doZoom(size)
{document.getElementById('zoom').style.fontSize=size+'px';}
&span id=&zoom&&需要指定大小的文字&/span&
&a href=&javascript:doZoom(16)&&大&/a& &a href=&javascript:doZoom(14)&&中&/a& &a href=&javascript:doZoom(12)&&小&/a&
select挡住div的解决方法
在div里加入下面的代码,根据需要调整就可以了。
&iframe src=&javascript:false& scrolling=&no& frameborder=&0& style=&z-index:-1;position: top:5 left:2width:168;height:100&&
跳转菜单新窗口
&select name=&select& onchange=&window.open(this.options[this.selectedIndex].value)&&
&option value=&&& Internet Explorer&/option&
&option value=&&& Microsoft Home&/option&
&option value=&&& Developer Network&/option&
flash透明选项
&param name=&wmode& value=&transparent&&
记录并显示网页的最后修改时间
&script language=JavaScript&
document.write(&最后更新时间: & + document.lastModified + &&)
让IFRAME框架内的文档的背景透明
&iframe src=&about:&body style='background:transparent'&& allowtransparency&&/iframe&
打开窗口即最大化
&script language=&JavaScript&&
&!-- Begin
self.moveTo(0,0)
self.resizeTo(screen.availWidth,screen.availHeight)
// End --&
文字或图片弹出指定大小的窗口
在body中加入
&script language=&JavaScript& type=&text/JavaScript&&
function MM_openBrWindow(theURL,winName,features) {window.open(theURL,winName,features);}
&a href=&#& target=&_self& onClick=&MM_openBrWindow('windows01.htm','','width=550,height=380')& width=&550& height=&380& border=&0&&图片或文字&/a&
flash按钮加链接
on (press) {
getURL(&&,&_blank&);
细线分隔线
&hr noshade size=0 color=#C0C0C0&
消除ie6自动出现的图像工具栏,设置 GALLERYIMG属性为false或no .
&IMG SRC=&mypicture.jpg& HEIGHT=&100px& WIDTH=&100px& GALLERYIMG=&no&&
禁止页面正文内容被选取
&body oncontextmenu=&return false& ondragstart=&return false& onselectstart =&return false& onselect=&document.selection.empty()& oncopy=&document.selection.empty()& onbeforecopy=&return
false&onmouseup=&document.selection.empty()&&
不能点右键,不用CTRL+A,不能复制作!
&body oncontextmenu=&window.event.returnValue=false&
onkeypress=&window.event.returnValue=false&
onkeydown=&window.event.returnValue=false&
onkeyup=&window.event.returnValue=false&
ondragstart=&window.event.returnValue=false&
onselectstart=&event.returnValue=false&&
随机变换背景图象(一个可以刷新心情的特效)
&Script Language=&JavaScript&&
   image = new Array(4); //定义image为图片数量的数组
   image [0] = 'tu0.gif' //背景图象的路径
   image [1] = 'tu1.gif'
   image [2] = 'tu2.gif'
   image [3] = 'tu3.gif'
   image [4] = 'tu4.gif'
   number = Math.floor(Math.random() * image.length);
   document.write(&&BODY BACKGROUND=&+image[number]+&&&);
flash载入影片
on (release)
loadMovie(&1-01.swf&, &_root.loaderclip&);
图片表单按钮
&form id=&form1& name=&form1& method=&post& action=&&&
&img src=&login.gif& width=&62& height=&22& onclick=&document.form1.submit()& /&
左右阴影背景的CSS定义方法
text-align:
background-repeat: repeat-y;
background-position:
background-image: url(../images/bg.jpg);
如何关闭层
&div id=&Layer1&&&/div&
&a href=&#& onClick=&Layer1.style.display='none'&&关闭层&/a&
运行代码框
function Preview()
{var TestWin=open('');
TestWin.document.write(code.value);}
&textarea id=code cols=60 rows=15&&/textarea&
&button onclick=Preview() &运行&/button&
给表格做链接
&table width=&100%& onclick=&window.open(' '_blank')& style=&CURSOR:hand&&
&td height=&100& bgcolor=&f4f4f4&&&&/td&
CSS文字阴影
.shadowfont{FILTER: dropshadow(color=#666666, offx=1, offy=1, positive=1); FONT-FAMILY: &宋体&; FONT-SIZE: 9COLOR: #}
表格透明
style=&FILTER: alpha(opacity=72)&
Alt和Title的区别
alt 用来给图片来提示的。Title用来给链接文字或普通文字提示的。
&a href=&#& Title=&给链接文字提示&&文字&/a&
&p Title=&给链接文字提示&&文字&/p&
&img src=&图片链接& alt=&给图片提示&&
在同一页面设置不同文字链接效果的样式
&style type=&text/css&&
.green {COLOR: #309633}
.green A:link {COLOR: #309633; TEXT-DECORATION: none}
.green A:visited {COLOR: #309633; TEXT-DECORATION: none}
.green A:hover {COLOR: #309633; TEXT-DECORATION: underline}
.green A:active {COLOR: #309633; TEXT-DECORATION: none}
&a href=&#& class=&green&&文字&/a&
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
首 选请确认SQL SERVER EXPRSS已安装到本地计算机上,并且SQL SERVER (SQLEXPRESS)服务已经成功启动。如果问题仍然存在,可以尝试应打开“SQL Server 外围应用配置器”,选择“服务和连接的外围应用配置器”,然后将“远程连接”配置为“同时使用 TCP/IP 和 named pipes”
由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例。该连接将关闭。
将连接字符串中的“User Instance=True”修改为“User Instance=False”即可。
无法将文件 'X:WebsiteApp_DataDatabase.mdf' 作为数据库 ''. 附加。当前命令发生了严重错误。应放弃任何可能产生的结果。
需要为X分区以及X分区的子文件夹和文件分配Users组的“读取”权限。
尝试为文件 X:WebsiteApp_DataDatabase.mdf 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中。
首 选要确认已经为X分区以及X分区的子文件夹和文件分配了Users组的“读取”权限。如果问题仍然存在,请使用SQL Server Management Studio连接到SQLEXPRESS数据库实例,检查是否有名称是“Database”的数据库存在。如果有,分离同名数据库即可。如果还有问题检查web.config中Data Source=.\SQLEXPRESS,如果同时装了sql2000名称应为MSSQL$SQLEXPRESS。
无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITYNETWORK SERVICE' 登录失败。
数据库文件Database.mdf 的读写权限被设置成只有NETWORK SERVICE才具有。解决方法是先停止掉SQL SERVER (SQLEXPRESS)服务,然后从父项集成权限,再次启动SQL SERVER (SQLEXPRESS)服务即可。
User:用户表,存放用户信息
Role:角色表,存放角色信息
UserInRole:用户角色映射表,存放用户和角色的对就关系,多对多,一个用户可以对应多个
角色,而不同的角色有一同的权限。
Permissions:权限表,不同的角色对应不同的权限。权限信息使用一个字段flag来表示,
好处是可以使用位运算来计算权限,缺点是用位标识的权限受理论值限制,如int理论上可以
标识31种不同的权限, 当然可以整加一个字段来弥补,ApplicationID标识不同的模块
:模块信息。
&&&& public enum Flag:long
&&&&&&View=1,
&&&&&&Edit=2,
&&&&&&Delete=4
特性[Flag]告诉编译器,当编译器看到Flag枚举时,它会充许你用|(or)操作符组合枚举值,
就像二的整数幂一样,
例如 Flag& Administer=Flag.View|Flag.Edit|Flag.D表示三种权限的组合。
基础知识:
当编译器看到Flag枚举时,它会充许你用|(or)操作符组合枚举值,
就像二的整数幂一样,
例如 Flag Administer=Flag.View|Flag.Edit|Flag.D
常用操作,检查是否存在
Flag administer=Flag.View|Flag.Edit|Flag.D
& public bool Check(Flag administer,Flag mask)
&&&&&&&&&&& bool bReturn =
&&&&&&&&&&& if ((administer & mask) == mask)
&&&&&&&&&&&&&&& bReturn =
&&&&&&&&&&& return bR
调用  Check(administer,Flag.Edit)将返回true.
&public Flag SetBit(Flag administer,Flag mask)
&&&&&&&&& return& administer |=
&&&&&&&&&&
&administer |=操作相当于 administer = administer |
 从枚举中减去一种状态
  administer &=
Flag administer=Flag.View|Flag.Edit|Flag.D
如需要禁止删除权限.
&administer &=Flag.D
 另外,标记为flag的枚举类型,可以不设置值
&& public enum Flag:long
&&&&& View,
&&&&& Edit,
&&&&& Delete
&  如需要设置,按以下规律, View=1,Edit=2,Delete=4,Reply=8按2次方累加,为什么会这样?因为他使用二进制操作,
&& 当你使用 View=1,Edit=2,Delete=3,Reply=4这样的值, Flag.Delete 包含的值是Flag.Delete还是View=1|Edit=2就无从检测了.
每个用户,可以属于不同的角色不同的角色分配不同的权限,计算所有解权的所有可能的权限组合,只要有充许的权限,那么该用户既获取该权限。
在CS系统中,Permissions表合用了二个字段来标识权限.
&AllowMask,DenyMask 规责是Deny优先,也就是说当权限标记为Deny那么不论是否Allow一律禁止该用户进行此项操作。
另外,像论坛类的权限设计,仅仅一个ApplicationID字段是不够用的,因为每个版块都需要设置不同的权限,来控制权限的粒度,可在增加一张Permission表,ApplicationID修改为版块ID
这样,就可以针对不同的版块设置不同的权限
好了,接下的问题是怎么和.net自带的权限系统挂钩了。。
在asp系统中 ,HttpContext.Current.User实现了一个接口IPrincipal,IPrincipal包含了另一个接口Identity
& 我们在设计User类的时候继承此接口
& public class User:IPrincipal
&&& public string Username
&&&& get{}
&&&& set{username=}
& 实现IPrincipal接口方法
 & public IIdentity Identity
&&&&&&&&&&& get {
&&&&&&&&&&&&&&& if (!string.IsNullOrEmpty(username))
&&&&&&&&&&&&&&&&&&& _Identity = new GenericIdentity(username,&Forums&);
&&&&&&&&&&&&&&& return (IIdentity)_I
&&&&&&&&&&& }
public bool IsInRole(string role)
怎样和asp挂钩呢,这里可以在登陆时做检查
&if(HttpContext.Current!=null){
&&&&&&&&&&&&&&& User u= Users.GetUser(name);
&&&&&&&&&&&&&&& HttpContext.Current.User =u;
在使用时 
&User u = HttpContext.Current.User as U
当然检查用户角色可以直接用
&if(HttpContext.Current.User.Identity.IsAuthenticated&&HttpContext.Current.User.IsInRole(角色名))
另外可以直接把到当用户权限策略挂接到当前线程 ,使用以下方法
&&& AppDomain.CurrentDomain.SetPrincipalPolicy(User);
好了,接下来,怎么check权限?
我倾向于使用Attribute
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Delegate, Inherited = true, AllowMultiple = true)]
public class CheckPermissionAttribute : Attribute
int appID;
public int ApplicationID
get { return appID; }
set { appID = }
Permission _allM
public Permission AllMask
get { return _allM }
set { _allMask = }
public CheckPermissionAttribute(ApplicationID app, Permission allMask)
_allMask = allM
public CheckPermissionAttribute(Permission allMask)
_allMask = allM
AttributeUsage 第一个参数表示该属性可以应用于类,方法,属性,代理上
Inherited 检查继承的权限。
AllowMultiple 充许多次应用。
按下来,设计一个基类,继承自Page:
class PageBase : Page
Flag _allM
/// &summary&
/// 检查类型权限
/// &/summary&
public void CheckClass()
Type type = this.GetType();
CheckPermissionAttribute att = (CheckPermissionAttribute)CheckPermissionAttribute.GetCustomAttribute(type, typeof(CheckPermissionAttribute));
if (att != null)
Check(att.AllMask);
/// &summary&
/// 检查函数调用权限
/// &/summary&
/// &param name=&methodName&&方法名&/param&
public void CheckMethod(string methodName)
Type type = this.GetType();
string name = &*&;
if (!string.IsNullOrEmpty(methodName))
name = methodN
MemberInfo[] mis = type.FindMembers(MemberTypes.Method ,BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.IgnoreCase,Type.FilterNameIgnoreCase,name);
foreach (MethodInfo m in mis)
CheckPermissionAttribute att = (CheckPermissionAttribute)CheckPermissionAttribute.GetCustomAttribute(m, typeof(CheckPermissionAttribute));
if (att != null)
Check(att.AllMask);
public void Check(Flag permissions)
if (!CheckPermission(permissions))
string url = string.Format(&MsgPage.aspx?msg={0}&, HttpUtility.UrlEncode(&您没有权限访问该资源&));
Response.Redirect(url);
public void Check(ApplicationID appID, Flag permissions)
PermissionManager
pm= Spaces.PermissionManager.Instance(appType);
if (!CheckPermission(pm,permissions))
string url = string.Format(&MsgPage.aspx?msg={0}&, HttpUtility.UrlEncode(&您没有权限访问该资源&));
Response.Redirect(url);
protected override void OnInit(EventArgs e)
CheckClass();
base.OnInit(e);
如何使用:
[CheckPermission(2, Flag.View)]
public partial class MyPage : PageBase
若没有查看权限,会自运导向错误页面。
在类上应用挺方便。
方法上应用我于一个方法比较麻烦,我还没有找到在页面class里怎么获取当前调用的类名.
可以调用 CheckMethod(方法名称);如
&span style=&font-family:A&&[CheckPermission(2, Flag.Delete)]
public partial class MyPage : PageBase
public void test()
CheckMethod(&test&);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:282758次
积分:3068
积分:3068
排名:第9181名
原创:54篇
转载:49篇
评论:29条
(1)(3)(1)(1)(1)(1)(1)(2)(1)(1)(12)(1)(1)(3)(16)(2)(3)(3)(2)(1)(8)(3)(5)(15)(9)(5)(1)(2)

我要回帖

更多关于 实现页面加载等待动画 的文章

 

随机推荐