??xml version="1.0" encoding="utf-8" standalone="yes"?>国产a∨精品一区二区三区不卡,中文字幕日韩有码,精品国产电影http://www.aygfsteel.com/9611/category/21784.html像丁香花一样静静的{待zh-cnFri, 15 Jun 2007 00:11:26 GMTFri, 15 Jun 2007 00:11:26 GMT60MSXML. xmlhttp 的应用参?/title><link>http://www.aygfsteel.com/9611/archive/2007/06/14/124300.html</link><dc:creator>dyok</dc:creator><author>dyok</author><pubDate>Thu, 14 Jun 2007 06:00:00 GMT</pubDate><guid>http://www.aygfsteel.com/9611/archive/2007/06/14/124300.html</guid><wfw:comment>http://www.aygfsteel.com/9611/comments/124300.html</wfw:comment><comments>http://www.aygfsteel.com/9611/archive/2007/06/14/124300.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/9611/comments/commentRss/124300.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/9611/services/trackbacks/124300.html</trackback:ping><description><![CDATA[XMLHTTP应用参?<br>一、用步骤: <br>1、创建XMLHTTP对象 //需MSXML4.0支持 <br>2、打开与服务端的连接,同时定义指o发送方式,服务|页(URL)和请求权限等。客L通过Open命o打开与服务端的服务网늚q接。与普通HTTP指o传送一P可以?GET"Ҏ?POST"Ҏ指向服务端的服务|页?<br>3、发送指令?<br>4、等待ƈ接收服务端返回的处理l果?<br>5、释放XMLHTTP对象 <br><br>二、XMLHTTPҎQ?<br>1、XMLHTTP对象 <br>备注Q客h可以使用XMLHTTP对象发送Q意的HTTPh,接受HTTP应答,q可以对应答的XML文档q行解析?<br><br>OpenҎQ初始化一个Msxml2.XMLHTTPhQ指定HTTPh方式、URL以及鉴定信息?<br>OpenQ?bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword Q?<br>bstrMethodQ?数据传送方式,即GET或POST?<br>bstrUrlQ?服务|页的URL?<br>varAsyncQ?是否同步执行。缺省ؓTrueQ即同步执行Q但只能在DOM中实施同步执行。用中一般将其置为FalseQ即异步执行?<br>bstrUserQ?用户名,可省略?<br>bstrPasswordQ用户口令,可省略?<br><br>SendҎQ发送HTTPh到服务器Q返回应{?<br>语法Q?<br>oXMLHttpRequest.send(varBody) <br>说明Q此Ҏ是否同步取决于OpenҎ的varAsync参数。如果设为True则ؓ同步Q调用立刻返回,如果设ؓFalse调用直到整个应答被接收了才返回?<br><br>setRequestHeaderQ?bstrHeader, bstrvalue Q?<br>bstrHeaderQHTTP ?header) <br>bstrvalueQ?HTTP ?header)的?<br><br>如果OpenҎ定义为POSTQ可以定义表单方式上传: <br>xmlhttp.setRequestHeaderQ?"Content-Type", "application/x-www-form-urlencoded"Q?<br><br>三、XMLHTTP属性: <br>onreadystatechangeQ在同步执行方式下获得返回结果的事g句柄。只能在DOM中调用?<br>responseBodyQ?l果q回为无W号整数数组?<br>responseStreamQ?l果q回为IStream?<br>responseText Q?l果q回为字W串?<br>responseXMLQ?l果q回为XML格式数据?<br><br>四、示例: <br> <div id="wmqeeuq" class="myCode"> <div id="wmqeeuq" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="wmqeeuq" class="codeContent">< script language="javascript" >  <br>function getDatal(url){  <br>var xmlhttp  = new ActiveXObject("MSXML2.XMLHTTP.4.0";//创徏XMLHTTPRequest对象Q需MSXML4.0? ?nbsp;["MSXML2.XMLHTTP.4.0","MSXML2.DOMDocument.4.0"]  <br>xmlhttp.open("GET",url,false,"",""; //使用HTTP GET初始化HTTPh  <br>xmlhttp.send(""; //发送HTTPhq获取HTTP响应  <br>return xmlhttp.responseXML; //获取XML文档  <br>}  <br>< /script > </div> </div> <p>  现在|上行的小L序比较多Q有新闻cdP音乐偷Q下载小P那么它们是如何做的呢Q下面我来做个简单介l,希望对各位站长有所帮助?<br></p> <p>Q一Q原?<br>  偷E序实际上是通过了XML中的XMLHTTPlg调用其它|站上的|页。比如新dL序,很多都是调用了sina? 新闻|页Qƈ且对其中的htmlq行了一些替换,同时对广告也q行了过滤。用偷E序的优ҎQ无ȝ护网站,因ؓ偷E序中的数据来自其他|站Q它随 着该网站的更新而更斎ͼ可以节省服务器资源,一般小L序就几个文gQ所有网内定w是来自其他网站。缺ҎQ不E_Q如果目标网站出错,E序也会出错Q? 而且Q如果目标网站进行升U维护,那么偷E序也要q行相应修改Q速度Q因为是q程调用Q速度和在本地服务器上d数据比v来,肯定要慢一些?<br></p> <p>Q二Q事?<br><br>下面XMLHTTP在ASP中的应用做个单说?<br><br>代码: </p> <div id="wmqeeuq" class="myCode"> <div id="wmqeeuq" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="wmqeeuq" class="codeContent"><%  <br>’常用函数  <br><br>’1、输入url目标|页地址Q返回值getHTTPPage是目标网늚html代码  <br>function getHTTPPage(url)  <br>dim Http  <br>set Http=server.createobject("MSXML2.XMLHTTP"  <br>Http.open "GET",url,false  <br>Http.send()  <br>if Http.readystate<>4 then  <br>exit function  <br>end if  <br>getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312"  <br>set http=nothing  <br>if err.number<>0 then err.Clear  <br>end function  <br><br>’2、{换ؕ玛,直接用xmlhttp调用有中文字W的|页得到的将是ؕ玛,可以通过adodb.streamlgq行转换  <br>Function BytesToBstr(body,Cset)  <br>dim objstream  <br>set objstream = Server.CreateObject("adodb.stream"  <br>objstream.Type = 1  <br>objstream.Mode =3  <br>objstream.Open  <br>objstream.Write body  <br>objstream.Position = 0  <br>objstream.Type = 2  <br>objstream.Charset = Cset  <br>BytesToBstr = objstream.ReadText  <br>objstream.Close  <br>set objstream = nothing  <br>End Function  <br><br>’下面试着调用http://www.998w.net/class/的html内容  <br>Dim Url,Html  <br>Url="http://www.998w.net/class/"  <br>Html = getHTTPPage(Url)  <br>Response.write Html  <br>%></div> </div> <p> ------------------------------------------------------ <br>代码: <br>'代码]用XMLHTTPdq程文g </p> <div id="wmqeeuq" class="myCode"> <div id="wmqeeuq" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="wmqeeuq" class="codeContent"><%  <br>Response.Buffer = True  <br>Dim objXMLHTTP, xml  <br>Set xml = Server.CreateObject("Microsoft.XMLHTTP"  <br><br>xml.Open "GET", "http://www.998w.net/down/998w1.0.rar", False  <br><br>xml.Send  <br><br>’ Add a header to give it a file name:  <br>Response.AddHeader "Content-Disposition", _  <br>"attachment;filename=mitchell-pres.zip"  <br><br>’ Specify the content type to tell the browser what to do:  <br>Response.ContentType = "application/zip"  <br><br>’ Binarywrite the bytes to the browser  <br>Response.BinaryWrite xml.responseBody  <br><br>Set xml = Nothing  <br>%> </div> </div> <p>------------------------------------- <br>如何写ASP入库偷E序 <br>  入库偷的原理也很简单:是用XMLHTTPq程d|页的内容,然后Ҏ需要,对读到的内容q行加工Q过滤,替换Q分c)Q最后得到自己需要的数据Q加入到数据库中?<br>首先Q我们先用XMLHTTPdq程|页Q我的另一片文章中有介l)?<br>其次Q对内容q行qoQ这个是比较关键的步骤,比如_我要从远E网上提取出所有urlq接Q我应该怎么做呢Q?<br>代码: <br>‘q里用的是正则式 </p> <div id="wmqeeuq" class="myCode"> <div id="wmqeeuq" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="wmqeeuq" class="codeContent">Set objRegExp = New Regexp ’建立对象  <br>objRegExp.IgnoreCase = True ’大小写忽?nbsp; <br>objRegExp.Global = True ’全局为真  <br>objRegExp.Pattern = "http://.+?" ’匚w字段  <br>set mm=objRegExp.Execute(str) ’执行查找Qstr入参?nbsp; <br>For Each Match in mm ’q入循环  <br>Response.write(Match.ValueQ?nbsp;’输出url地址  <br>next </div> </div> <p>然后Q我们需要根据需要做一些替换功能,把不必要的数据替换掉Q这个比较简单,用Replace函数卛_?<br>最后,q行数据库操?<br>------------------------------- <br>一个例?<br>代码: <br></p> <div id="wmqeeuq" class="myCode"> <div id="wmqeeuq" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="wmqeeuq" class="codeContent"><%  <br>On Error Resume Next  <br>Server.ScriptTimeOut=9999999  <br>Function getHTTPPage(Path)  <br>t = GetBody(Path)  <br>getHTTPPage=BytesToBstr(t,"GB2312"  <br>End function  <br><br>’ 首先Q进行小L序的一些初始化讄Q以上代码的作用分别是忽略掉所有非致命性错误,把小L序的q行时旉讄得很长(q样不会出现q行时的错 误)Q{换原来默认的UTF-8~码转换成GB2312~码Q否则直接用XMLHTTPlg调用有中文字W的|页得到的将是ؕ码?nbsp; <br><br>Function GetBody(url)  <br>on error resume next  <br>Set Retrieval = CreateObject("Microsoft.XMLHTTP"  <br>With Retrieval  <br>.Open "Get", url, False, "", ""  <br>.Send  <br>GetBody = .ResponseBody  <br>End With  <br>Set Retrieval = Nothing  <br>End Function  <br><br>’然后调用XMLHTTPlg创徏一个对象ƈq行初始化设|?nbsp; <br><br>Function BytesToBstr(body,Cset)  <br>dim objstream  <br>set objstream = Server.CreateObject("adodb.stream"  <br>objstream.Type = 1  <br>objstream.Mode =3  <br>objstream.Open  <br>objstream.Write body  <br>objstream.Position = 0  <br>objstream.Type = 2  <br>objstream.Charset = Cset  <br>BytesToBstr = objstream.ReadText  <br>objstream.Close  <br>set objstream = nothing  <br>End Function  <br><br>Function Newstring(wstr,strng)  <br>Newstring=Instr(lcase(wstr),lcase(strng))  <br>if Newstring<=0 then Newstring=Len(wstr)  <br>End Function  <br><br>’处理抓取回来的数据需要调用adodb.streamlgq进行初始化讄?> </div> </div> <p>'以下即ؓ面昄部分 </p> <div id="wmqeeuq" class="myCode"> <div id="wmqeeuq" class="codeText"><img src="http://mysheji.com/Skin/default/images/code.gif" align="absmiddle" hspace="6">代码片段</div> <div id="wmqeeuq" class="codeContent"><%  <br>Dim wstr,str,url,start,over,city  <br>’定义一些需要用到的变?nbsp; <br><br>city = Request.QueryString("id")  <br>’E序传回的ID变量Q即用户选择的城市)赋给id  <br><br>url="http://appnews.qq.com/cgi-bin/news_qq_search?city="&city&""  <br>’q里讄需要抓取的面地址Q当然你也可以直接指定某个地址而不使用变量  <br><br>wstr=getHTTPPage(url)  <br>’获取指定面的全部数?nbsp; <br><br>start=Newstring(wstr," <html>")  <br>’q里讄需要处理的数据的头部,q个变量应视不同情况而设|,具体内容可以通过查看需要抓取的面的源代码来确定。因为在q个E序里我们需要抓取整个页?所以设|ؓ面全部抓取。注意,讄的内容必L面内容唯一的,不可以重复?nbsp; <br><br>over=Newstring(wstr," </HTML>")  <br>’和start相对应的是需要处理的数据的尾部,同样的,讄的内容必L面中唯一的?nbsp; <br><br>body=mid(wstr,start,over-start)  <br>’讄昄面的范?nbsp; <br><br>’下面是动用乑֝挪移大法的时候了Q通过replace可以用一些字W替换掉数据中指定的字符?nbsp; <br><br>body = replace(body,"skin1","天气预报 - 斯克|络")  <br>body = replace(body,"http://appnews.qq.com/cgi-bin/news_qq_search?city","tianqi.asp?id")  <br><br>’本程序中已经完成了替换的工作Q如果有其他需要的话可以l进行类似的替换操作?nbsp; <br><br>response.write body  <br>%></div> </div><img src ="http://www.aygfsteel.com/9611/aggbug/124300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/9611/" target="_blank">dyok</a> 2007-06-14 14:00 <a href="http://www.aygfsteel.com/9611/archive/2007/06/14/124300.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>怀念从前之-----ASP开发技巧集锦四http://www.aygfsteel.com/9611/archive/2007/04/20/112104.htmldyokdyokFri, 20 Apr 2007 00:51:00 GMThttp://www.aygfsteel.com/9611/archive/2007/04/20/112104.htmlhttp://www.aygfsteel.com/9611/comments/112104.htmlhttp://www.aygfsteel.com/9611/archive/2007/04/20/112104.html#Feedback0http://www.aygfsteel.com/9611/comments/commentRss/112104.htmlhttp://www.aygfsteel.com/9611/services/trackbacks/112104.htmlfunction ConfirmDel()
{
      if(confirm("定要删除吗Q一旦删除将不能恢复Q?))
         return true;
      else
         return false;
}

<form name="del" method="Post" action="Del.asp" onsubmit="return ConfirmDel();">

==============================================================



我自q的一个?br>function ConfirmReset()
{
      if(confirm("定取消操作吗?一旦取消操作将不能恢复Q?))
      window.form1.reset();
      // return true;
}
<a href="javascript:ConfirmReset();"><img src="button_cance.gif"></a>



32. indexOf() 用法



<字符串对?gt;.indexOf(<另一个字W串对象>[, <起始位置>])Q?br>


该方法从<字符串对?gt;中查?lt;另一个字W串对象>Q如果给?lt;起始位置>忽略之前的位置Q,如果扑ֈ了,p回它的位|,没有扑ֈp?#8220;-1”。所有的“位置”都是从零开始的?br>eg. Str.indexOf(“AP”)>-1 说明str中存?#8221;AP”字符?br>


33. 生成水?br>


<%
if request.form("Modf") <> "" then
Dim   rs
Dim sql
Dim BugID
dim today
today=date()
toyear=year(today)
toyear=toyear*10000
tomonth= month(today)
tomonth=tomonth*100
tonow=day(today)
Serialnum = toyear + tomonth + tonow
Serialnum = Serialnum*10000+1



set rs = Server.CreateObject("ADODB.recordset")
sql = "select top 1 * from buglist order by SubmitDate desc"
rs.open sql,conn,1,3
if   not rs.eof then
      Dim OldSerialnum
      OldSerialnum = Rs("BugID")
      OldSerialnum = right(OldSerialnum,12)
      Serial = right(Serialnum,12)
      if OldSerialnum - Serial >= 0 then
      Serialnum = OldSerialnum + 1
      end if
end if
BugID = "ES"&request("ProductVersion")&Serialnum



34. 响应回R



function getdata(what,whatid)
{
     if (event.keyCode==13)
     ……
<input name="SerialNum<%=i%>"    type="text" onKeyDown="getdata(window.form1.SerialNum<%=i%>.value,<%=i%>)">



35. 关闭H口前刷新父面



response.write "<script language = javascript>"
response.write "javascript:opener.location.reload(); "
response.write "javasript:window.close();</script>"



36. JS事g



事g / 描述



onblur 事g 发生在窗口失ȝ点的时候?br>onchange 事g 发生在文本输入区的内容被更改Q然后焦点从文本输入区移C后?br>onclick 事g 发生在对象被单击的时候?br>onerror 事g 发生在错误发生的时候?br>onfocus 事g 发生在窗口得到焦点的时候?br>onload 事g 发生在文档全部下载完毕的时候?br>onmousedown 事g 发生在用h鼠标攑֜对象上按下鼠标键的时候。参?onmouseup 事g?br>onmouseout 事g 发生在鼠标离开对象的时候。参?onmouseover 事g?br>onmouseover 事g 发生在鼠标进入对象范围的时候?br>onmouseup 事g 发生在用h鼠标攑֜对象上鼠标键被按下的情况下,攑ּ鼠标键的时候?br>onreset 事g 发生在表单的“重置”按钮被单击(按下q放开Q的时候?br>onresize 事g 发生在窗口被调整大小的时候?br>onsubmit 事g 发生在表单的“提交”按钮被单击(按下q放开Q的时候?br>onunload 事g 发生在用户退出文档(或者关闭窗口,或者到另一个页面去Q的时候?br>onSelect 当Text或Textarea对象中的文字被加亮后Q引发该事g?
onFocus 当用户单击Text或textarea以及select对象Ӟ产生该事件?
onBlur 当text对象或textarea对象以及select对象不再拥有焦点、而退到后台时Q引发该文g.
onDragDrog 拖放时发?br>onLoseCapture  
onDblClick 鼠标双击事g
onKeyPress 当键盘上的某个键被按下ƈ且释放时触发的事?[注意:面内必L被聚焦的对象]
onKeyDown 当键盘上某个按键被按下时触发的事件[注意:面内必L被聚焦的对象]
onKeyUp 当键盘上某个按键被按攑ּ时触发的事g[注意:面内必L被聚焦的对象]
onAbort 囄在下载时被用户中?
onBeforeUnload 当前面的内容将要被改变时触发的事g
onMove 览器的H口被移动时触发的事?br>


37. 自动最大化



function window_onload()
{
      window.moveTo(-2,-2);
      window.resizeTo(screen.availWidth, screen.availHeight);
}



<body onload="window_onload()">



38. 几个SQL技?br>


Select Area,Territory,username,sum(dealqty) DealQty,count(Projectnum) ProjectQty,sum(TotalAmount) TotalAmountQty,sum(TotalPowerRT) TotalPowerRT   FROM VW_PreviewTerritory   where    username = 'D龙? group by area,Territory,username
只要把不需要统计的东西分组可以了?br>


select area,count(projectnum) TotalProjectQty,sum(DealQty) TotalDealQty,sum(TotalAmount) TotalAmountQty,sum(TotalPowerRT) TotalPowerRTQty from vw_previewProject where username = 'admin' group by area
q个也是一PCQcount() 只是计数Q不这个字D值是多少。sum()是求和,把所有加在一赗?br>


39. Eval用法



eval("ProducingArea"+i+".style.display = 'none' ;");
单引号不影响
eval("if((window.form1.ProductBaseType"+i+".value!='' && window.form1.ProductBaseType"+(i+1)+".value =='')==true);");
//错误Q?br>if(eval("window.form1.ProductBaseType"+i+".value!='' && window.form1.ProductBaseType"+(i+1)+".value ==''")==true)
//以后记得凡是有if判断的,把eval("")写在里面Q就比较好!
if(confirm(eval("'信要在'+window.form1.ProductBaseType"+(i)+".value+'后添加子c?'")))







40. H口关闭之前

function window_onbeforeunload(Projectnum)
{
    if (event.clientX > document.body.clientWidth && event.clientY < 0 )
    {
       var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
       oXMLHTTP.open("POST","CheckProjectDeal.asp?Projectnum="+Projectnum,false);
       oXMLHTTP.send();
       Str=unescape(oXMLHTTP.responseText);
       if (unescape(oXMLHTTP.responseText)!="YES")
       {
            window.event.returnValue="目臛_需要一个销售机会!";
        }
      }
}

41. 标准表格

***************

* q个是标?br>
***************

<table cellspacing=0 cellpadding=0 width="100%" border=0>

   <tr>

      <td   class=title   nowrap   align=left>
<%response.write Application("LProductManage"&session("LanguageId"))%>

     </td>

   </tr>

</table>

***************

* q个是横U?br>
***************

<table cellspacing=0 cellpadding=0 width="100%" border=0>

   <tbody>

   <tr>

     <td>

     </td>

   </tr>
<tr class="linecolor">

<td height="2"></td>

</tr>
<tr>

<td class="tdcolor" align=left height=15> </td>

</tr>

   </tbody>

</table>


***************

* q个是表?br>
***************

<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor="#d0d090">

    <tbody>

      <th align="middle" class=light2><b><%=application("Lstatus"&session("languageid"))%></b></th>

      <th align="middle" class=light2><b><%=application("LSaleStage"&session("languageid"))%></b></th>
  
     <tr bgColor="white">

     <td align="middle"> </td>

     <td align="middle"> </td>

     </tr>


   </tbody>

</table>

Ҏ\填充 = 0

间隔 Q?1

底色 = #d0d090

42. q也?br>
for i=2 to num

   BaseTypeAllPArr = request("BaseType"&i&"P"&jLoop)&":"&BaseTypeAllPArr

   response.Write "   OOOO   "&request("BaseType"&i&"P"&jLoop)&"   OOOO    <br>"
next

43. 标准注释?br>
'' ******************************************************************

'' 文g?

'' Copyright (c) 2001-2005 ××信息技术公司Y仉

'' 功能描述:产品~辑

'' 参数

'' 牉|数据表,视图Q存储过E:自定义函数dbo.GetSubTreeinfo

'' 包含的文?

'' 调用的公用函敎ͼc,Ҏ

'' 创徏?Kokey YU

'' 日 ? 2005-8-9

'' 修改?

'' 日 ?

'' 修改说明:

'' 版 ?

'' ******************************************************************/       

44. title换行

<a href="javascript:;" title="q是一行这是另一行!">把鼠标放上来</a>


dyok 2007-04-20 08:51 发表评论
]]>
怀念从前之-----ASP开发技巧集锦三http://www.aygfsteel.com/9611/archive/2007/04/20/112103.htmldyokdyokFri, 20 Apr 2007 00:50:00 GMThttp://www.aygfsteel.com/9611/archive/2007/04/20/112103.htmlhttp://www.aygfsteel.com/9611/comments/112103.htmlhttp://www.aygfsteel.com/9611/archive/2007/04/20/112103.html#Feedback0http://www.aygfsteel.com/9611/comments/commentRss/112103.htmlhttp://www.aygfsteel.com/9611/services/trackbacks/112103.html
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?br>其实也可以用<!--#include file="fuck.asp"-->



22. 全部选定



<SCRIPT language=javascript>
function CheckAll(form)
   {
   for (var i=0;i<form.elements.length;i++)
     {
     var e = form.elements[i];
     if (e.Name != "chkAll")
        e.checked = form.chkAll.checked;
     }
   }
</script>
引用Q?br><td width="250" height="30"><input name="chkAll" type="checkbox" id="chkAll" onclick=CheckAll(this.form) value="checkbox">选中本页昄的所?lt;/td>



格Q?br><input name='username' type='checkbox'   id="username" value="<%=cstr(rsView("username"))%>">



23. 如何处理面执行时发生的错误Q?br>


<%@ LANGUAGE="VBScript" %>
<%
       Response.Buffer = True ' 打开面~冲
       On Error Resume Next   ' 打开错误处理
       …………' ASP代码
%>



<%
       If Err.Number <> 0 Then   ' 错误处理
       Response.Clear   ' 清除~冲?br>%>



<HTML>' 昄错误信息面
<HEAD>
<TITLE>面错误报告</TITLE>
</HEAD>



<BODY BGCOLOR="#C0C0C0">
<font color=red>
<p>面错误报告</p>



错误?<%= Err.Number %><BR>
错误描述:<%= Err.Description %><BR>
错误?Source <%= Err.Source %><BR>
错误发生?<%= Err.Line %><BR>
</BODY>
</HTML>
<%
End If
%>



24. 收藏夹图?



?HEAD 部分加入下面的内?  
<LINK REL="SHORTCUT ICON" HREF=http://www.alleasy.com.cn/alleasy.ico>



在地址栏加入图标(图标必须?ico格式Qƈ且要加入收藏后才有效Q?br>在HEAD里加?<link rel="shortcut icon" href="favicon.ico">



25. 校验提交表单Q正则表辑ּ应用Q?br>


<script language="JavaScript">
<!--
function CheckForm()
{
if (LoginID.value =="")
{
alert("请填写您的登录名Q?);
LoginID.focus();
return false;
}
var filter=/^\s*[.A-Za-z0-9_-]{5,15}\s*$/;
if (!filter.test(LoginID.value)) {
alert("用户名填写不正确,请重新填写!可用的字符为(A-Z a-z 0-9 _ - .)长度不小?个字W,不超q?5个字W,注意不要使用I格?);
LoginID.focus();
LoginID.select();
return false;
}
if (Password.value =="")
{
alert("请填写您的密码!");
Password.focus();
return false;
}
var filter=/^\s*[.A-Za-z0-9_-]{5,15}\s*$/;
if (!filter.test(Password.value)) {
alert("密码填写不正?请重新填写!可用的字符为(A-Z a-z 0-9 _ - .)长度不小?个字W,不超



q?5个字W,注意不要使用I格?);
Password.focus();
Password.select();
return false;
}
if (Password.value != ConfirmPassword.value)
{
alert("请两ơ填写的密码不一_请重新填写!");
ConfirmPassword.focus();
return false;
}
if (CompanyName.value =="")
{
alert("请填写贵公司名称Q?);
CompanyName.focus();
return false;
}
var filter=/^[a-zA-Z][a-zA-Z0-9._-]*@([a-zA-Z0-9-_]+\.)+(com|gov|net|com\.cn|edu\.cn)$/;
if(!filter.test(document.myform.Email.value)){
alert("邮箱格式不正?");
document.myform.Email.focus();
return false;
}
myform.submit();
return true;
}
//-->
</SCRIPT>



l一一下,以后都这样写
<form method="POST" name="myform"   action="Checkreg.asp" >
</form>



<input type="button" name="Submit" value="提交" onClick="CheckForm();">



26. 循环



<%
dim sql,rs
set rs=server.createobject("ADODB.recordset")
sql="select * from news where bigclassname='解决Ҏ'"
rs.open sql,conn,1,3
for k=1 to rs.recordcount
if rs.eof then
exit for
else
%>



<tr>
<td>
          asfasdf
</td>
</tr>



<%
rs.movenext
end if
next
%>



27. 另一个只能输入数字代?br>


<script language=java script>
function check(){
    if(isNaN(tt.value))
     {
       alert("必须是数?");
       tt.value="";
     }
</script>



<input type="text" name="tt" onkeyup="check();">



28. 有选择昄



function showco(va)
{  
      if (va=="CO")
      {
              RefNum.style.display=''; //不再用这个可以直接用 block
              buttonsp.style.display='none';
       }
        if (va=="SP")
       {
               buttonco.style.display='none';
               buttonsp.style.display='';
               kokey.style.display='';
       }
        if (va=="Inventory")
       {
                RefNum.style.display='none'; //不显C?br>                Reftr.style.display="block"; //昄
        }



调用Q?br>


<select name="RefType" style='width:77pt'   onChange="showco(this.value)">



    <option value="Inventory">Inventory</option>



    <option value="CO" >CO</option>



    <option   value="SP">SP</option>



</select>



选择昄?<tr id="Reftr" name="Reftr" style="display:none">也可以用<div id=”Resftr” ></div>



29. 调试参数昄规范



Response.Write session("LoginCompanyId")&","&Date&","&Request.Form("Owner")&","&Request.Form("Name")&
//注意最后没?只是在,之间?,"    其他?amp;&引用卛_
//也就是说只是?nbsp;  &","&   中间加一个逗号Q其他的该怎么写,怎么?br>Response.End



30. 从数据库填充下拉菜单



<%
sql = "select * from BigClass"
rs.open sql,conn,1,1
%>



<select name="BigClassName" size="1">
<option selected value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>



<%
rs.movenext //不能,否则重复
do while not rs.eof
%>



<option value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
<%
rs.movenext
loop
rs.close
%>
</select>

//以下是新Ҏ
<select name="SrcNo">
<%do while not SrcRs.eof%>
<option value="<%=trim(SrcRs("Cost"))%>"
              <%
              if Trim(SrcComRs("SrcNo")) = Trim(SrcRs("Cost")) then
              response.Write "selected"
              end if
              %>
                ><%=trim(SrcRs("Cost"))%>
</option>
<%
    SrcRs.movenext
     loop
     SrcRs.close
%>
</select>


dyok 2007-04-20 08:50 发表评论
]]>
怀念从前之----ASP开发技巧集锦二http://www.aygfsteel.com/9611/archive/2007/04/20/112102.htmldyokdyokFri, 20 Apr 2007 00:49:00 GMThttp://www.aygfsteel.com/9611/archive/2007/04/20/112102.htmlhttp://www.aygfsteel.com/9611/comments/112102.htmlhttp://www.aygfsteel.com/9611/archive/2007/04/20/112102.html#Feedback0http://www.aygfsteel.com/9611/comments/commentRss/112102.htmlhttp://www.aygfsteel.com/9611/services/trackbacks/112102.htmlif rs.bof and rs.eof then   ‘q是有问?br>response.write"<SCRIPT language=JavaScript>alert('找不刎ͼ');"
response.write"javascript:history.go(-1)</SCRIPT>"
end if
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?br>q个是蟩转?br><script language="javascript">
alert('<%=intOperationInfo%>');
window.navigate('ChangePwd.asp');
</Script>
12. 从VBS到JSQ؜?br>    <%
    dim checkpwdconfig     
    checkpwdconfig=split(addation,"/")
    %>
    <script language="javascript">
    alert("<%=checkpwdconfig(0)%>")
    </script>
13. 弹出H口
<script language=javascript>
function openaddnew()
{
subWindow=window.open("../Edit/PasswordConfigEdit.asp?method=new",'','scrollbars=yes,left=120,top=60,height=250,width=500,menubar=no,location=no,toolbar=no,resizable=yes','')
subWindow.opener = this;
}
</script>
用一个连接调用:
<a href=""Q?">请修改密?onClick="openaddnew()"</a>
囄调用Q?br><img name=submit1 src="../button_new<%=session("languageid")%>.gif"   onClick="openaddnew()">
14. 分页
<!--#include file="conn.asp"-->
<%
if request("pageno")<>"" then
     pageno=int(request("pageno"))
else
pageno=1
end if
sql="select * from news where [language]='中文' and bigclassname='新闻' order by id desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,3
rs.pagesize=20
if rs.eof then
pageno=0
else
rs.absolutepage=pageno
end if
%>
==========================================
?lt;%=rs.recordcount%>?<%=pageno%>/<%=int(rs.pagecount)%>?每页<%=rs.pagesize%>?br>   <a href="manage.asp?pageno=1">首页</a>
   <%if pageno>1 then%>
   <a href="manage.asp?pageno=<%=int(pageno)-1%>">上一?lt;/a>
   <%
   end if
   if int(pageno)<>int(rs.pagecount)then
%>
   <a href="manage.asp?pageno=<%=int(pageno+1)%>">下一?lt;/a>
   <%end if%>
   <a href="manage.asp?pageno=<%=int(rs.pagecount)%>">N</a>
   <%rs.close%>
   <%
call CloseConn()
%>
15. 数据库更?br>   sql="select * from [user] where username='"&request("username")&"'"
   rs.Open sql,Conn,1,3
   rs("usermail")=Request("usermail")
   rs("userhome")=Request("userhome"))
   rs.update
   rs.close
16. 关闭独立H口
<head>
<OBJECT id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff- 11cf-9377-00aa003b7a11"><param name="Command" value="Close">
</object>
</head>
<body>
<input type="button" value="点击我关闭窗? onclick="closes.Click();">
</body>
17. 极细表格
<table border="1" cellpadding="0" cellspacing="0" width="32" height="32" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr>
<td> </td>
</tr>
</table>
18. 几个正则表达?br>Require : /.+/,    
Email : /^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$/,    
Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/,    
Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/,    
Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,    
IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/,    
Currency : /^\d+(\.\d+)?$/,
Number : /^\d+$/,    
Zip : /^[1-9]\d{5}$/,    
QQ : /^[1-9]\d{4,8}$/,    
Integer : /^[-\+]?\d+$/,    
Double : /^[-\+]?\d+(\.\d+)?$/,    
English : /^[A-Za-z]+$/,    
Chinese :   /^[\u0391-\uFFE5]+$/,    
UnSafe :/^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/,
19. Left应用Q控制字敎ͼ
function title(str)
if len(trim(str))>=28 then
title=left(trim(str),27)&"..."
else
title=trim(str)
end if
end function
20. 判断览?br><SCRIPT LANGUAGE="javascript1.2">
<!--//
if (navigator.appName == 'Netscape')
var language = navigator.language;
else
var language = navigator.browserLanguage;
if (language.indexOf('en') > -1) document.location.href = 'en/index.asp';
else if (language.indexOf('zh') > -1) document.location.href = 'cn/index.asp';
else
document.location.href = 'cn/index.asp';
// End -->
</script>


dyok 2007-04-20 08:49 发表评论
]]>
怀念从前之-------ASP开发技巧集锦一http://www.aygfsteel.com/9611/archive/2007/04/20/112101.htmldyokdyokFri, 20 Apr 2007 00:48:00 GMThttp://www.aygfsteel.com/9611/archive/2007/04/20/112101.htmlhttp://www.aygfsteel.com/9611/comments/112101.htmlhttp://www.aygfsteel.com/9611/archive/2007/04/20/112101.html#Feedback0http://www.aygfsteel.com/9611/comments/commentRss/112101.htmlhttp://www.aygfsteel.com/9611/services/trackbacks/112101.html1. 几个常用函数
Round(pi, 2) 四舍五入

FormatNumber(k,4) ' ?k 格式化ؓ带四位小数点的数?
eg. 如果k =20000则显CZؓ20,000.00Q如果把formatnumber(k,0)则ؓ20,000

Replace(expression,find,replacewith) 'q回一字符Ԍ其中指定的子串已被另一个子串替?

Left(String,Length) 'q回指定数目的从字符串的左边v的字W串?

Split(expression[, delimiter[, count[, start]]]) 'q回Z 0 的一l数l,其中包含指定数目的子字符丌Ӏ?
eg. 常用q个 Split(String,[delimiter]) ' 用delimiter(用于标识子字W串界限的字W?来划分字W串

Instr(String1,String2) 'q回某字W串在另一字符串中W一ơ出现的位置
eg1. if instr(addation,"密码配置?)<>0 then '说明存在
eg2. if instr(str,”AP”) >0 不好区分str = (AP,AP&AC),此时只要变ؓQ?#8217;AP’,’AP&AC’Q?再用instr(str,”’AP’”)
2. 弹出H口Pick?

function pickupSP(spdisid,pjnum,pdcode)
{
window.opener.<%=theForm%>.RefNum<%=Spid%>.value=spdisid;
window.opener.<%=theForm%>.LineS<%=Spid%>.value=pjnum;
window.opener.<%=theForm%>.kokey<%=Spid%>.value=pdcode;
window.close();
}
3. ASP控制囄昄的大({比例羃放)
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script language="JavaScript">
<!--
var flag=false;
function DrawImage(ImgD){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= 164/112){
if(image.width>164){
ImgD.width=164;
ImgD.height=(image.height*164)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"x"+image.height;
}
else{
if(image.height>112){
ImgD.height=112;
ImgD.width=(image.width*112)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"x"+image.height;
}
}
}
//-->
</script>
</HEAD>
<BODY>
<a href="./img.jpg" target="_blank"><img src="./img.jpg" border="0" width="164" height="112" onload="javascript:DrawImage(this);"></a>
</BODY>
</HTML>
4. ASP中对数据库表的操?Insert/Update/Delete),可用事务处?q支持多事务处理.
在ASP的数据库对象链接对象?提供了一下属?
BeginTrans 事务开?
CommitTrans 事务提交
RollbackTrans 事务回滚
<%
On Error Resume Next ’错误发生后l处?
'Asp中用事?
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "course_dsn","course_user","course_password"
conn.begintrans '开始事?
sql="delete from user_info"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,3
if conn.errors.count>0 then '有错误发?
conn.rollbacktrans '回滚
set rs=nothing
conn.close
set conn=nothing
response.write "交易p|Q回滚至修改前的状态!"
response.end
else
conn.committrans '提交事务
set rs=nothing
conn.close
set conn=nothing
response.write "交易成功Q?
response.end
end if
%>
在ASP?不提供事务的l束,BeginTrans只作用于自己的域,cM于变量声明一?如果在函C内BeginTrans,则事物只作用于本函数?如果BeginTrans在函C?处于面U?则事务的作用域从BeginTrans开?到页面的l束均处于事务的理状态下.
5. EasySales数据库操?

dim objCon,objRst,objsql
dim companyid
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open SYSDNS,SYSNAME,SYSPASSWORD
Set objRst = Server.CreateObject("ADODB.RecordSet")
objsql="select * from PasswordConfig where companyid='"&session("CompanyID")&"'"
objRst.Open objsql,objCon,1,3
6. html格式邮g发?
HTML = "<html>"
HTML = HTML & "<head>"
HTML = HTML & "<title>Sending CDONTS Email Using HTML</title>"
HTML = HTML & "<link href="../cn/new.css" rel="stylesheet" type="text/css">"
HTML = HTML & "</head>"
HTML = HTML & "<body bgcolor=""FFFFFF"">"
HTML = HTML & "<p><font size=7>"
HTML = HTML & "This is a test mail in html<br>"
HTML = HTML & "Mail content here ...</font></p>"
HTML = HTML & "</body>"
HTML = HTML & "</html>"
dim StrRecEmail,StrPosEmail,StrSubject,StrBody
StrRecEmail=request("email")
StrPosEmail="yufh@alleasy.com.cn"
StrSubject="资料下蝲通知?
StrBody=HTML
7. input是下划线
style="BORDER-RIGHT: #f7f7f7 0px solid; BORDER-TOP: #f7f7f7 0px solid; FONT-SIZE: 9pt; BORDER-LEFT: #f7f7f7 0px solid; WIDTH: 110px; BORDER-BOTTOM: #c0c0c0 1px solid; HEIGHT: 16px; BACKGROUND-COLOR: #f7f7f7"
8. Session & Cookie
写入一个SESSIONQ 
   Session["username"])="aa";
   Session("username")="aa"   
   d一个SESSINNQ?  
   string username= Session["username"]; 
   dim username=Session("username")  
   Cookie与此用法大致相同
9. 几个VB中的常数
下列常数?Visual Basic for Applications 中的cd库定义,可用来在代码中的M地方代替实际|
常数 {于 描述
vbCrLf Chr(13) + Chr(10) 回RW与换行W结?
vbCr Chr(13) 回RW?
vbLf Chr(10) 换行W?
vbNewLine Chr(13) + Chr(10) q_指定的新行字W;适用于当前^?
vbNullChar Chr(0) gؓ 0 的字W?
vbNullString gؓ 0 的字W串 用来调用外部q程Q与长度为零的字W串 ("") 不同
vbObjectError -2147221504 用户定义的错误号应当大于该|例如Q?
Err.Raise Number = vbObjectError + 1000
vbTab Chr(9) Tab 字?
vbBack Chr(8) 退格字W?

10. 按钮Z可用
<%if rsView.eof and rsView.bof then %> ‘ q里有个大问题,下文再说
<input name="submit" type='submit' value='寚w定用户解鎖' disabled>
<%else%>
<input name="submit" type='submit' value='寚w定用户解鎖' >
</td>
<%end if%>



dyok 2007-04-20 08:48 发表评论
]]>
վ֩ģ壺 | | ̩| | Ƹ| Ѱ| ƽ| ξ| ɽ| | | Ϸ| | | ͭ| | ¹| ξ| | Ȫ| | ٲ| ͳ| | | | | ̨| | ÷| | | ʯ| ˳| | ɽ| | ܱ| | | ͨ|