Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 在线视频欧美日韩,51国产午夜精品免费视频,2021国产精品视频

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          .NET Core 和 ASP.NET Core 中

          .NET Core 和 ASP.NET Core 中的日志記錄

          NET Core 支持適用于各種內置和第三方日志記錄提供程序的日志記錄 API。 本文介紹了如何將日志記錄 API 與內置提供程序一起使用。

          本文中所述的大多數代碼示例都來自 ASP.NET Core 應用。 這些代碼片段的日志記錄特定部分適用于任何使用通用主機的 .NET Core 應用。 ASP.NET Core Web 應用模板使用通用主機。

          日志記錄提供程序

          日志記錄提供程序存儲日志,但顯示日志的 Console 提供程序除外。 例如,Azure Application Insights 提供程序將日志存儲在 Azure Application Insights 中。 可以啟用多個提供程序。

          默認 ASP.NET Core Web 應用模板:

          • 使用通用主機。
          • 調用 CreateDefaultBuilder,這將添加以下日志記錄提供程序:控制臺調試EventSourceEventLog:僅限 Windows

          C#

          SP.NET 幫助器 - 對象參考手冊


          Analytics 對象參考手冊(Google)

          Helper描述
          Analytics.GetGoogleHtml(webPropertyId)為指定的 ID 呈現 Google Analytics JavaScript 代碼。
          Analytics.GetStatCounterHtml(project, security)為指定的項目呈現 StatCounter Analytics JavaScript 代碼。
          Analytics.GetYahooHtml(account)為指定的賬號呈現 Yahoo Analytics JavaScript 代碼。

          Bing 對象參考手冊

          Helper描述
          Bing.SearchBox([boxWidth])給 Bing 傳遞搜索。您可以設置 Bing.SiteUrl 和 Bing.SiteTitle 屬性來設定站點搜索和搜索框的標題,通常是在 _AppStart 頁面設置這些屬性。
          Bing.AdvancedSearchBox([, boxWidth] [, resultWidth] [, resultHeight]

          [, themeColor] [, locale])

          用可選的格式顯示 Bing 搜索結果在頁面上。您可以設置 Bing.SiteUrl 和 Bing.SiteTitle 屬性來設定站點搜索和搜索框的標題,通常是在 _AppStart 頁面設置這些屬性。

          Chart 對象參考手冊

          Helper描述


          Chart(width, height [, template] [, templatePath])初始化圖表。
          Chart.AddLegend([title] [, name])給圖表添加一個圖例。
          Chart.AddSeries([name] [, chartType] [, chartArea]

          [, axisLabel] [, legend] [, markerStep] [, xValue]

          [, xField] [, yValues] [, yFields] [, options])

          給圖表添加一系列數據。

          Crypto 對象參考手冊

          Helper描述
          Crypto.Hash(string [, algorithm])

          Crypto.Hash(bytes [, algorithm])

          返回指定數據的哈希。默認算法是 sha256。

          Facebook 對象參考手冊

          Helper描述
          Facebook.LikeButton(href [, buttonLayout] [, showFaces] [, width] [, height]

          [, action] [, font] [, colorScheme] [, refLabel])

          讓 Facebook 用戶連接到網頁。

          FileUpload 對象參考手冊

          Helper描述
          FileUpload.GetHtml([initialNumberOfFiles] [,allowMoreFilesToBeAdded]

          [, includeFormTag] [, addText] [, uploadText])

          為上傳文件呈現 UI。

          GamerCard 對象參考手冊

          Helper描述
          GamerCard.GetHtml(gamerTag)呈現指定的 Xbox gamer 標簽。

          Gravatar 對象參考手冊

          Helper描述
          Gravatar.GetHtml(email [, imageSize] [, defaultImage] [, rating]

          [, imageExtension] [, attributes])

          為指定的電子郵件地址呈現 Gravatar 圖像。

          Json 對象參考手冊

          Helper描述
          Json.Encode(object)用 JavaScript Object Notation (JSON) 把數據對象轉換為字符串。
          Json.Decode(string)轉換 JSON 編碼的輸入字符串為您指定的數據對象。

          LinkShare 對象參考手冊

          Helper描述
          LinkShare.GetHtml(pageTitle [, pageLinkBack] [, twitterUserName]

          [, additionalTweetText] [, linkSites])

          使用指定的標題和可選的 URL 呈現社會網絡鏈接。

          ModelState 對象參考手冊

          Helper描述
          ModelStateDictionary.AddError(key, errorMessage)關聯錯誤信息和一個表單域。使用 ModelState 幫助器訪問成員。
          ModelStateDictionary.AddFormError(errorMessage)關聯錯誤信息和一個表單。使用 ModelState 幫助器訪問成員。
          ModelStateDictionary.IsValid如果沒有驗證錯誤,返回 true。使用 ModelState 幫助器訪問成員。

          ObjectInfo 對象參考手冊

          Helper描述
          ObjectInfo.Print(value [, depth] [, enumerationLength])呈現一個對象和所有子對象的屬性和值。

          Recaptcha 對象參考手冊

          Helper描述
          Recaptcha.GetHtml([, publicKey] [, theme] [, language] [, tabIndex])呈現 reCAPTCHA 驗證測試。
          ReCaptcha.PublicKey

          ReCaptcha.PrivateKey

          設置 reCAPTCHA 服務的公共和私有密鑰。通常是在_AppStart 頁面設置這些屬性。
          ReCaptcha.Validate([, privateKey])返回 reCAPTCHA 測試結果。
          ServerInfo.GetHtml()Renders 呈現有關 ASP.NET Web Pages 的狀態信息。

          Twitter 對象參考手冊

          Helper描述
          Twitter.Profile(twitterUserName)為指定的用戶呈現 Twitter 流。
          Twitter.Search(searchQuery)為指定的搜索文本呈現 Twitter 流。

          Video 對象參考手冊

          Helper描述
          Video.Flash(filename [, width, height])為指定的文件呈現寬度和高度可選的 Flash 視頻播放。
          Video.MediaPlayer(filename [, width, height])為指定的文件呈現寬度和高度可選 的 Windows Media 播放器。
          Video.Silverlight(filename, width, height)為指定的 .xap 文件呈現所需的寬度和高度 的 Silverlight 播放器。

          WebCache 對象參考手冊

          Helper描述
          WebCache.Get(key)通過 key 返回指定的對象,如果對象未找到則返回 null。
          WebCache.Remove(key)通過 key 從緩存中刪除指定的對象。
          WebCache.Set(key, value [, minutesToCache] [, slidingExpiration])通過 key 把 value 放置到指定名稱的緩存中。

          WebGrid 對象參考手冊

          Helper描述
          WebGrid(data)Creates a 使用查詢數據創建一個新的 WebGrid 對象。
          WebGrid.GetHtml()Renders markup 顯示數據在 HTML 表格中。
          WebGrid.Pager()為 WebGrid 對象呈現一個頁面。

          WebImage 對象參考手冊

          Helper描述
          WebImage(path)從指定的路徑加載一個圖像。
          WebImage.AddImagesWatermark(image)為指定圖像加水印。
          WebImage.AddTextWatermark(text)為圖像添加指定文本。
          WebImage.FlipHorizontal()

          WebImage.FlipVertical()

          水平/垂直翻轉圖像
          WebImage.GetImageFromRequest()當圖像被傳送到一個文件上傳頁面時,加載圖像。
          WebImage.Resize(width, height)調整圖像大小。
          WebImage.RotateLeft()

          WebImage.RotateRight()

          向左或向右旋轉圖像。
          WebImage.Save(path [, imageFormat])保存圖像到指定路徑。

          鳥學ASP 

          學習目的:安裝調試ASP的環境,并且調試第一個簡單的程序。

            因為我們學ASP的目的就是想建立一個網站,那么一般習慣是建立的網站內所有文件應該同時放到一個文件夾中(當然這個文件夾中還可以按需要設置子文件夾!),所以在這里我在E盤建立一個myweb的文件夾。

            首先來安裝Windows 2000/XP自帶的IIS作為服務器。在這里因為我的機器是XP所以所有截圖都是XP下完成的。

            控制面板-->>添加或刪除程序。


           然后是添加刪除windows組件-選中IIS組件前面的勾,之后等待安裝,這里可以觀看本站以前給大家做的視頻教程,完成安裝后。


          之后在控制面板中雙擊“管理工具”。


           然后雙擊“internet信息服務”,這就是IIS。


          選擇“默認網站”,然后右鍵屬性或者直接按快捷鍵


           在屬性頁面內只有三個頁面需要修改,先是網站,如果用戶有固定IP,可以分配一個IP

          接下來在注主目錄中選擇一個自己硬盤上面的文件夾存放網站(這個目錄就是我們上面說的在e盤建立的目錄),選中讀取、寫入

           在文檔中添加默認的頁面,比如打http://www.liexiaow.com獵校網 調用了一個默認文檔即是你添加的頁面。


          接下來也是最關鍵的:

            1、在剛才你定義的一個文件夾里面新建一個文件,可以用記事本建立一個文本文件然后把下面的內容復制到記事本中:

          <%response.write "hello world!"%>

            保存為1.asp文件(注意:.asp不能省略啊,如果省略了你就保存了一個文本文件了)。

            最后打開IE,在地址欄內輸入:http://127.0.0.1/1.asp(或者http://localhost/1.asp)回車后就可以看到效果了。

          最后解釋一下代碼的含義。

            response.write就是顯示的意思,前后的 <% 和 %> 是asp的標記符號,在這里面的信息都由服務器處理。127.0.0.1是地址,1.asp是文件名。第一天就結束了!

          表單元素要放在一個表單域里面,建立一個表單域。然后修改動作里面的文件為要接受這個表單變量的ASP文件。方法有兩種,一種是POST,這個方法傳送的變量不會在瀏覽器的地址欄里面顯示,可以大批量傳送數據;GET則是會在瀏覽器地址欄里面顯示的,等一會舉例子。

            下面我們看一個表單元素。

            文本域,這個是最基本的,傳送的是文本信息,一般用戶名,密碼都要用這個傳送,不過要是密碼的話要在類型里面選擇密碼,這樣就會以*代替顯示出來的字符,文本域的名字很重要,以后會用到這個名字所以一般不用默認的名字。

            現在舉一個例子:如果文本域的名字是name的話,用來傳送網上用戶登記的名字,在表單域里面,傳送到reg.asp,用POST方法,那么在reg.asp里面這樣得到變量<%name=request.form("name")%>如果要顯示變量再家加一句,response.write name,這樣就形成了一個從客戶端到瀏覽器再回到客戶端的過程。如果方法用的是GET的話,那么就改為name=request.querystring("name")實際上兩者可以統一為name=request("name")。下面看看按鈕,按鈕里面無非兩種,一種是提交表單的按鈕,一種是重新輸入的按鈕。單選按鈕,一個按鈕有一個值。在列表里面同樣,添加列表選項和值。下面舉一個例子,實際上各種表單元素都是差不多的。

            下面是具體的代碼: (注:把下面代碼保存為一個.htm的文件就可以了.我保存的1.htm)

          <form name="form1" method="post" action="reg.asp"> 
          姓名: 
          <input type="text" name="name"> //文本域,名字叫name 
          <br> 
          密碼: 
          <input type="password" name="psw"> //文本域,用來輸入密碼,名字叫psw 
          <br> 
          <br> 
          性別: 
          <input type="radio" name="sex" value="男"> //單選,名字叫sex,數值是"男" 
          男 
          <input type="radio" name="sex" value="女"> //單選,名字叫sex,數值是"女" 
          女 <br> 
          <br> 
          城市: 
          <select name="city"> 
          <option value="上海" selected>上海</option> //復選,大家自己分析一下 
          <option value="北京">北京</option> 
          </select> 
          <br> 
          <input type="submit" name="Submit" value="提交"> //提交按鈕 
          <input type="reset" name="Submit2" value="重置"> 
          </form>
            下面是reg.asp的代碼,用來顯示出剛才受到的信息:
          <% 
          name=request.form("name") 
          psw=request.form("psw") 
          sex=request.form("sex") 
          city=request.form("city") 
          response.write name 
          response.write psw 
          response.write sex 
          response.write city 
          %>

            打開瀏覽器在地址欄內輸入:http://localhost/1.htm如下圖:(呵呵,因為是練習,我沒有美化頁面啊!)


          下面我們要開始學數據庫了!只要把表單和數據庫相應的字段連接上就可以了。

          學會ACCEES數據庫的使用。

            首先,要安裝OFFICE里面的ACCEES(我的演示是OFFICE 2003版本),安裝過程這里就不說了,安裝好以后會,打開Access.按空數據庫,新建一個數據庫,文件名字可以叫guestbook.mdb。(提示:為了安全期間,文件名復雜一點好,因為ACCESS數據庫可以被下載的!!)



          使用設計器創建新的表,一個數據庫MDB文件里面可以建立多個表。雙擊“使用設計器創建表”


           填寫字段名字然后選擇字段類型,一條記錄可以有很多字段,可以有很多字段類型,字段大小的意思就是這個字段最多可以容納的字符數,當這個字段沒有任何信息是,ACCEES會用默認值代替(沒有任何信息不是空的意思),一般必填字段和允許空字符串分別設置為否、是,以防止出錯

          按照上圖分別建立幾個字段,在時間中默認值為=now()就是這個字段不需要填寫,系統直接以當前時間代替。

          所以的字段都建立以后,關閉這個窗口,按提示保存表,輸入表的名字guest,最后出現下圖的提示,選擇是,主鍵是記錄的標識,為了以后簡單,大家可以把編號改為ID,還有在ACCEES里面盡量不要用中文表示字段名字

          最后,雙擊打開這個表,觀看表里面的記錄


          握ACCESS數據庫的連接和讀取記錄

            首先還打開我們上一節課建立的數據庫中的表,隨便輸入幾條記錄,如下圖:


          這節課學習的內容有一點枯燥,但是很重要。在這里不需要知道命令具體的運行情況,外面的很多書籍之所以不適合入門就是因為介紹了太多的理論知識,讓初學者一頭霧水。

            下面開門見山,看兩行代碼:

          <% 
          set conn=server.createobject("adodb.connection") 
          conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb") 
          %>
            第一行定義了一個adodb數據庫連接組件,第二行連接了數據庫,大家只要修改后面的數據庫名字就可以了。是不是很簡單?
            下面再看三行:
          <% 
          exec="select * from guest" 
          set rs=server.createobject("adodb.recordset") 
          rs.open exec,conn,1,1 
          %>
            這三行加在前面兩行的后面,第一句:設置查詢數據庫的命令,select后面加的是字段,如果都要查詢的話就用*,from后面再加上表的名字,我們前面建立的是不是一個gust表阿?第二句:定義一個記錄集組件,所有搜索到的記錄都放在這里面,第三句是打開這個記錄集,exec就是前面定義的查詢命令,conn就是前面定義的數據庫連接組件,后面參數“1,1”,這是讀取,后面講到修改記錄就把參數設置為1,3,好了接下來我們讀取記錄。
          <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
          <%do while not rs.eof%><tr> 
          <td><%=rs("name")%></td> 
          <td><%=rs("tel")%></td> 
          <td><%=rs("message")%></td> 
          <td><%=rs("time")%></td> 
          </tr><% 
          rs.movenext 
          loop 
          %> 
          </table>
          //下面的三條語句是用于關閉數據庫
          
           rs.close
          set rs=nothing
          conn.close
          set conn=nothing
          

            在一個表格中,我們用4列分別顯示了上次建立的表里面的四個字段,用do循環,not rs.eof的意思是條件為沒有讀到記錄集的最后,rs.movenext的意思是顯示完一條轉到下面一條記錄,<%=%>就等于<%response.write%>用于在html代碼里面插入asp代碼,主要用于顯示變量。

            把上面三段代碼依次復制粘貼到剪貼板中,一定要按順序復制粘貼啊!,然后保存為duqu.asp就可以了!打開瀏覽器,在地址欄內輸入:http://localhost/duqu.asp.

            下面是我機器上面的結果圖片。


          學會數據庫的基本操作--寫入記錄

            數據庫的基本操作無非是:查詢記錄,寫入記錄,刪除記錄,修改記錄。

            今天我們先學習寫入記錄。先建立一個表單:(把下面文章保存為5.htm)

          <form name="form1" method="post" action="exa5.asp">
          name <input type="text" name="name"><br>
          tel <input type="text" name="tel"><br>
          message <input type="text" name="message" value=""><br>
          <input type="submit" name="Submit" value="提交">
          <input type="reset" name="Submit2" value="重置">
          </form>

            表單提交到exa5.asp,下面是exa5.asp的代碼: (把下面代碼保存為5.asp)

          <%
          set conn=server.createobject("adodb.connection")
          conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb")
          name=request.form("name")
          tel=request.form("tel")
          message=request.form("message")
          exec="insert into guest(name,tel,message)values('"+name+"',"+tel+",'"+message+"')"
          conn.execute exec
          conn.close
          set conn=nothing
          response.write "記錄添加成功!"
          %>

            在這里前面兩句我不說了,后面三句我也不說了,前面說過exec里面的是執行的命令,添加記錄的比較繁,大家要仔細看。

            insert into后面加的是表的名字,后面的括號里面是需要添加的字段,不用添加的或者字段的內容就是默認值的可以省略。注意,這里的變量一定要和ACCESS里面的字段名對應,否則就會出錯。values后面加的是傳送過來的變量。exec是一個字符串,"insert into guest(name,tel,message)values('"是第一段,在ASP里面不能嵌雙引號,所以可以用'代替雙引號,放在雙引號里面,連接兩個變量用+或者&所以"',"又是一段,中間夾了一個name就是表單傳來的變量,這樣就可以在這個變量外面加兩個'',表示是字符串了,后面的tel是數字型變量所以不需要外面包圍'',大家慢慢分析這句話,如果用表單傳來的數據代替變量名字的話這句話為(假設name="aaa",tel=111,message="bbb"):"insert into guest(name,tel,message)values('aaa',111,'bbb')"。

            接下來的conn.execute 就是執行這個exec命令,最后別忘記把打開的數據庫關閉,把定義的組件設置為空,這樣可以返回資源。

            下面幾條語句用于關閉數據庫的代碼:

          rs.close
          set rs=nothing
          conn.close
          set conn=nothing

            記住,次序不可以顛倒! 可以到數據庫里面去看一看,或者用duqu.asp讀取看看是不是多了記錄阿?下面是我利用上一節的文件讀取數據庫的圖:


          學會數據庫的基本操作--查詢記錄

            在第四天中我們用到下面這樣一個程序:

          <% 
          set conn=server.createobject("adodb.connection") 
          conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb") 
          exec="select * from guest" 
          set rs=server.createobject("adodb.recordset") 
          rs.open exec,conn,1,1 
          %>
            我們查詢的是所有的記錄,但是我們要修改、刪除記錄的時候不可能是所有記錄,所有我們要學習檢索合適的記錄。先看一條語句:
          a="aaa"
          b=1111110
          exec="select * from guestbook where name='"+a+"'and tel="+b
            where后面加上的是條件,與是and,或是or,我想=,<=,>=,<,>的含義大家都知道吧。這句話的意思就是搜索name是“aaa”的,并且電話是“1111110”的記錄。還有一點就是如果要搜索一個字段里面是不是包含一個字符串就可以這么寫:where instr(name,a)也就是搜索name里面有a(aaa)這個字符串的人。
            我這里的a,b,是常量,大家可以讓a,b是表單提交過來的變量,這樣就可以做一個搜索了。
            下面大家看看這個代碼,理解一下:(把下面代碼存為6.htm文件)
          <form name="form1" method="post" action="exam6.asp">
          搜索:<br>
          name=<input type="text" name="name">
          and tel=<input type="text" name="tel">
          <br>
          <input type="submit" name="Submit" value="提交">
          <input type="reset" name="Submit2" value="重置">
          </form>
            exam6.asp(把下面代碼存為exam6.asp)
          <%
          name=request.form("name")
          tel=request.form("tel")
          set conn=server.createobject("adodb.connection")
          conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb")
          exec="select * from guest where name='"+name+"' and tel="+tel
          set rs=server.createobject("adodb.recordset")
          rs.open exec,conn,1,1
          %>
          <html>
          <head>
          <title>無標題文檔</title>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          </head> 
          <body bgcolor="#FFFFFF" text="#000000"> 
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <%
          do while not rs.eof
          %><tr>
          <td><%=rs("name")%></td>
          <td><%=rs("tel")%></td>
          <td><%=rs("message")%></td>
          <td><%=rs("time")%></td>
          </tr>
          <%
          rs.movenext
          loop
          %>
          </table>
          </body>
          </html>

            首先在瀏覽器中輸入http://localhost/6.htm如下圖所示:



          學會數據庫的基本操作--刪除記錄

            開門見山,大家直接看程序。

          exec="delete * from guest where id="&request.form("id")

            上面這句話完成了刪除記錄的操作,不過鎖定記錄用了記錄唯一的表示id,我們前面建立數據庫的時候用的是系統給我們的主鍵,名字是編號,由于是中文的名字不是很方便,大家可以修改為id,我已經修改了啊!

            不修改的話就是用下面的代碼了:

          exec="delete * from guestbook where 編號="&request.form("id")

            下面我們看完整的代碼:一個表單傳給ASP文件一個ID,然后這個ASP文件就刪除了這個ID。

            7.htm:

          <form name="form1" method="post" action="exam7.asp">
          請輸入刪除的ID號:
          <input type="text" name="id">
          <input type="submit" name="Submit" value="提交">
          </form>

            exam7.asp:(可以先運行這個文件看一下所有記錄的ID和想刪除記錄的ID,刪除記錄以后也可以通過這個文件復查。)
          <%
          set conn=server.createobject("adodb.connection")
          conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb")
          exec="select * from guest"
          set rs=server.createobject("adodb.recordset")
          rs.open exec,conn,1,1 
          %>
          <html>
          <head>
          <title>無標題文檔</title>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          </head>
          <body bgcolor="#FFFFFF" text="#000000">
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <%
          do while not rs.eof
          %><tr>
          <td><%=rs("id")%></td>
          <td><%=rs("name")%></td>
          <td><%=rs("tel")%></td>
          <td><%=rs("message")%></td>
          <td><%=rs("time")%></td>
          </tr>
          <%
          rs.movenext
          loop
          %>
          </table>
          </body>
          </html>


          學會數據庫的基本操作--修改記錄

            先來看代碼:(存為exam8.asp就可以了)

          <%
          set conn=server.createobject("adodb.connection")
          conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb")
          exec="select * from guest where id="&request.form("id")
          set rs=server.createobject("adodb.recordset")
          rs.open exec,conn
          %>
          <form name="form1" method="post" action="modifysave.asp">
          <table width="748" border="0" cellspacing="0" cellpadding="0">
          <tr> 
          <td>name</td>
          <td>tel</td>
          <td>message</td>
          </tr>
          <tr> 
          <td>
          <input type="text" name="name" value="<%=rs("name")%>">
          </td>
          <td>
          <input type="text" name="tel" value="<%=rs("tel")%>">
          </td>
          <td>
          <input type="text" name="message" value="<%=rs("message")%>">
          <input type="submit" name="Submit" value="提交">
          <input type="hidden" name="id" value="<%=request.form("id")%>">
          </td>
          </tr>
          </table>
          </form>
          <%
          rs.close
          set rs=nothing
          conn.close
          set conn=nothing
          %>
            到現在應該分析這個代碼沒有什么問題了吧,這個代碼的作用是接受前面一個頁面的ID然后顯示這條記錄,文本框即是輸入的地方也是顯示的地方,如果需要修改的話修改以后按提交;如果不需要修改就可以直接按提交按鈕。
            在這里因為本教程適合初學的,所以也把提交的表單內容給出來,把下面代碼存為8.htm文件
          <form name="form1" method="post" action="exam8.asp">
          請輸入要修改的記錄的ID:
          
           <input type="text" name="id">
          <br>
          <input type="submit" name="submit" value="提交">
          </form>
          
          這里還有一個東西以前沒有說,那就是隱藏的表單元素:hidden元素,里面的value是不用用戶輸入的,會隨著表單一起提交,用于傳遞變量。
            下面是modifysave.asp的代碼:
          <%
          set conn=server.createobject("adodb.connection")
          conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb")
          exec="select * from guest where id="&request.form("id")
          set rs=server.createobject("adodb.recordset")
          rs.open exec,conn,1,3
          rs("name")=request.form("name")
          rs("tel")=request.form("tel")
          rs("message")=request.form("message")
          rs.update
          rs.close
          set rs=nothing
          conn.close
          set conn=nothing
          %>

            在這里,rs.open exec,conn,1,3后面的參數是1,3,這我以前提過,修改記錄就要用1,3。實際上修改記錄很容易看懂,記錄集是rs,rs("aa")就是當前記錄aa字段的東西,讓它等于新的數據request.form("aa")當然就修改了,不過最后別忘記保存,那就是rs.update!

            說到這里,記錄的搜索,讀取,修改,插入都說了,通過這最基本的東西就可以作出復雜的東西了,外面的大型數據庫:新聞系統,留言簿就是字段多一點罷了。今天的示例中的代碼是結合以前的數據庫的,以后回去調試分析一下。

            大家測試的流程:首先運行8.htm文件



          基本的SESSION組件,總結response,request組件。

            首先,有會員系統的任何程序都會用到檢測是不是用戶已經登陸這個步驟。這就用到了SESSION組件,下面我們 看一個代碼來說明。

          <%
          session("login")="yes"
          %>

            這句話的意思就是在session里面定義一個login字符串變量,值為"yes",直接可以賦值,不需要聲明。是不是很簡單?

            如果我們做管理員登陸系統的話,首先是一段檢測是不是管理員:

          if 是 then
          session("isadmin")=yes"
          else
          session("isadmin")="no"
          end if

            在每一個需要管理員才能看的頁面最前面加上:

          <%
          if not session("isaadmin")="yes" then
          response.redirect "login.htm"
          %>

            這樣一般用戶就無法打開這個頁面。解釋一下response.redirect,它是轉向的意思,后面的"login.htm"就是轉向的文件。這樣沒有登陸的管理員是無法看到后面的內容的。

            response組件基本就是用到response.write(),response.redirect() 分別是寫字符串和轉向的作用。

            request基本就是request.form(),request.querystring() 分別是接受post,get方法傳來的信息。

            最后我們一起來制作一個簡單的后臺登陸管理界面,首先在myweb目錄下建立一個admin文件夾,然后我們建立一個數據庫名字為admin.mdb,然后我們再建立一個表,表中設置兩個字段name,password,類型都是文本型的!最后退出時設置主鍵,保存為表名check。然后可以輸入一條記錄用戶名:admin,密碼:admin。具體建立數據庫的方法請看《菜鳥十天學會ASP教程之第三天:數據庫的建立

            下面我們開始編寫ASP程序,首先建立一個index.asp(管理主界面)程序,代碼如下:

          <%@language=vbscript%>
          <%if not session("checked")="yes" then 
          response.Redirect "login.asp"  
          else
          %>
          <html>
          <head>
          <title>管理界面</title>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          </head>
          <frameset cols="167,*" frameborder="YES" border="1" framespacing="1" rows="*" bordercolor="#666666"> 
            <frame name="leftFrame" scrolling="auto" noresize src="left.asp">
            <frame name="mainFrame" src="right.asp">
          </frameset>
          <noframes> 
          <body bgcolor="#FFFFFF" text="#000000">
          </body>
          </noframes> 
          </html>
          <%end if%>
            在上面的代碼中,大家可以看到用到login.asp,left.asp,right.asp程序
            login.asp://登陸系統程序
          <html>
          <head>
          <title>管理員入口</title>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          <style type="text/css">
          <!--
          .topic {  font-family: "宋體"; font-size: 11pt; font-weight: bold; color: #FFFFFF}
          .font {  font-family: "宋體"; font-size: 10pt; font-weight: normal; color: #000000}
          .table {  border-color: #666666 black; border-style: solid; border-top-width: 1pt; border-right-width: 0px; border-bottom-width: 1pt; border-left-width: 0px}
          .text {  border: 1pt #999999 solid; height: 15pt}
          -->
          </style>
          </head>
          <body text="#000000" topmargin="0" bgcolor="#FFFFFF">
          <table width="100%" border="0" cellpadding="0" cellspacing="0" align="center" height="100%">
            <tr> 
              <td height="129" valign="top" colspan="3">  </td>
            </tr>
            <tr> 
              <td width="230" height="170" valign="top"> </td>
              <td valign="top" width="277"> 
                <table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" bgcolor="#000000" align="center">
                  <tr> 
                    <td align="center" valign="middle" height="167">
                      <form name="form1" method="post" action="check.asp">
                        <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
                        <tr bgcolor="#62892C"> 
                          <td height="31" class="topic" colspan="2"> 
                            <div align="center">管理員入口<br>
                            </div>
                          </td>
                        </tr>
                        <tr> 
                          
                            <td bgcolor="#87bc3c" colspan="2" class="table"> 
                              <div align="center"> <span class="font"> 管理員:</span> 
                                <input type="text" name="name"  class="text" size="20" onMouseOver="this.focus()">
                                <br>
                                <span class="font">密 碼:</span> 
                                <input type="password" name="password" class="text" size="20" onMouseOver="this.focus()"><%if session("check")="wrong" then response.Write "<br><span class='font'><font color=red>驗證錯誤!</font></span>" end if%>
                              </div>
                            </td>
                       
                        </tr>
                        <tr> 
                          <td bgcolor="#87bc3c" width="52%"> 
                              <div align="center" class="font">
                                <input type="reset" name="Submit2" value="重置" class="text">
                              </div>
                          </td>
                          <td bgcolor="#87bc3c" width="48%"> 
                              <div align="center" class="font">
                                <input type="submit" name="Submit22" value="提交" class="text">
                              </div>
                          </td>
                        </tr>
                      </table>   </form>
                    </td>
                  </tr>
                </table>
              </td>
              <td width="241" valign="top"> </td>
            </tr>
            <tr> 
              <td height="123" valign="top" colspan="3"> </td>
            </tr>
          </table>
          </body>
          </html>
            在上面的程序中用到一個檢查用戶和密碼是否正確的程序check.asp://核對輸入的用戶和密碼是否正確
          <%
          dim name,password
          name=request.form("name")
          password=request.form("password")
          dim exec,conn,rs
          exec="select *from check where(name='"&name&"' and password='"&password&"')"
          set conn=server.createobject("adodb.connection")
          conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("admin.mdb")
          set rs=server.createobject("adodb.recordset")
          rs.open exec,conn
          if not rs.eof then
          rs.Close
          conn.Close
          session("checked")="yes"
          session("check")="right"
          response.Redirect "index.asp"
          else
          session("checked")="no"
          session("check")="wrong"
          response.Redirect "login.asp"
          end if
          %>
            left.asp://管理導航
          <%@language=vbscript%>
          <%if not session("checked")="yes" then 
          response.Redirect "login.asp"  
          else
          %>
          <html>
          <head>
          <title>管理界面</title>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          </head>
          <body text="#000000" topmargin="0" bgcolor="#ffffff" leftmargin="10">
          <div align="center"><a href="index.asp" target="_parent"><br>
            <br>
            管理界面首頁</a> <a href="exit.asp" target="_parent">退出</a><br>  
            <br>
          </div>
          </body>
          </html>
          <%end if%>
            exit.asp://退出系統
          <%@language=vbscript%>
          <%
          session("check")=""
          session("checked")=""
          response.redirect "login.asp"
          %>
            right.asp://具體管理的內容
          <%@language=vbscript%>
          <%if not session("checked")="yes" then 
          response.Redirect "login.asp"  
          else
          %>
          <html>
          <title>管理界面</title>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          </head>
          <body bgcolor="#ffffff" text="#000000" topmargin="20" class="title">
          這里是網頁教學網的管理系統示例!請大家多研究使用!
          
           </body>
          </html> 
          <%end if%>


            運行時首先運行index.asp程序,運行效果部分截圖如下:

          分頁技術

            今天最后一天我們學習一下ASP里面稍微難一點地分頁技術,畢竟當我們有N條記錄的時候我們不可能把所有記錄顯示在一個頁面里面吧。

          <%
          exec="select * from test"
          set rs=server.createobject("adodb.recordset")
          rs.open exec,conn,1,1
          rs.PageSize=3
          pagecount=rs.PageCount 
          page=int(request.QueryString ("page"))
          if page<=0 then page=1
          if request.QueryString("page")="" then page=1
          rs.AbsolutePage=page 
          %>

            rs.pagesize設置一個頁面里面顯示的記錄數,pagecount是我們自己定義的一個變量,rs.pagecount是記錄的個數,page也是我們自己定義的一個變量,我們下一頁的鏈接可以設置為list.asp?page=<%=page+1%>,下一頁的鏈接可以設置為list.asp?page=<%=page-1%>,這樣當按下鏈接的時候調用頁面自己,page這個變量就+1或者-1了,最后我們讓rs.absolutepage(當前頁面)為第page頁就可以了。

            if request.QueryString("page")="" then page=1,這句話的作用就是我們打開list.asp的時候沒有跟隨page變量,自動設置為page=1,防止出錯,還有當我們if....then...放在一行的時候end if可以省略。是不是分頁也不難?

            下面說一種特殊情況:

          if page=1 and not page=pagecount,這個時候沒有上一頁,但是有下一頁


          elseif page=pagecount and not page=1,這個時候沒有下一頁,但是有上一頁


          elseif page<1,這個時候沒有任何記錄


          elseif page>pagecount then,這個時候沒有任何記錄


          elseif page=1 and page=pagecount,這個時候沒有上一頁,沒有下一頁


          else,這個時候有上一頁,也有下一頁。


            下面看一段顯示1到n頁,且每一個數字點擊以后就出現這個數在代表的頁面的代碼,很常見哦。

          <%for i=1 to pagecount%>
          <a href="list.asp?page=<%=i%>"><%=i%></a><%next%>

            for....next是循環從i=1開始,循環一次加1到pagecount為止。

            最后我的實例里面包含了一個最簡單的ASP程序,但是功能樣樣有,是ASP的精髓,每一個ASP大型程序都包含了它。

          add.htm增加記錄頁面


          add.asp增加記錄操作


          conn.asp數據庫鏈接


          del.asp刪除記錄操作


          modify.asp修改記錄頁面


          modifysave.asp修改記錄操作


          list.asp這個是這個程序的核心,通過這個頁面實現記錄的添加、修改、刪除。


          主站蜘蛛池模板: 在线免费一区二区| 美女福利视频一区二区| 精品无码人妻一区二区免费蜜桃| 一区二区视频免费观看| 一区二区3区免费视频| 日韩人妻无码一区二区三区久久| 中文字幕在线无码一区| 97se色综合一区二区二区| 一区二区三区波多野结衣| 78成人精品电影在线播放日韩精品电影一区亚洲| 国产一区二区三区久久精品| 亚洲精品伦理熟女国产一区二区| 国产成人av一区二区三区不卡 | 乱中年女人伦av一区二区| 男人的天堂精品国产一区| 麻豆AV一区二区三区久久| 国产乱人伦精品一区二区| 中文字幕国产一区| 视频一区视频二区日韩专区| 日韩亚洲AV无码一区二区不卡| 国产色精品vr一区区三区| 日韩一区二区三区免费体验| 91精品一区二区三区在线观看| 一区二区三区中文| 在线观看国产区亚洲一区成人| 海角国精产品一区一区三区糖心| 亚洲国产精品无码久久一区二区| 久久综合一区二区无码| 午夜无码一区二区三区在线观看| 天天综合色一区二区三区| 99在线精品一区二区三区| 国产怡春院无码一区二区| 亚洲综合色一区二区三区| 亚洲熟妇AV一区二区三区浪潮| 精品国产伦一区二区三区在线观看| 少妇无码一区二区三区免费| 国产精品一区在线播放| 成人精品一区久久久久| 伊人精品视频一区二区三区| 国偷自产av一区二区三区| 亚洲国产精品无码第一区二区三区|