国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

ASP.NET CS文件中輸出JavaScript腳本的3種方法以及區別

2019-11-17 01:47:58
字體:
來源:轉載
供稿:網友

asp.net CS文件中輸出javaScript腳本的3種方法以及區別

Response.Write 與 Page.ClientScript.RegisterStartupScript 與 Page.ClientScript.RegisterClientScriptBlock 之間的區別

方法1,使用Response.Write,這種方法會把JS代碼寫在頁面的最頂部(<html>的前面):System.Web.HttpContext.Current.Response.Write("<script language=Javascript>alert('JS代碼');</script>");

方法2,使用RegisterStartupScript,這種方法會把JS代碼嵌入在頁面的底部、表單的最后 (</form>前面),適用于要在頁面控件加載完成后運行的JS代碼 :System.Web.UI.Page page = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler;if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(),"clientScript")) page.ClientScript.RegisterStartupScript(page.GetType(), "clientScript", "<script language=javascript>alert('JS代碼');</script>");

方法3,使用RegisterClientScriptBlock,這種方法會把JS代碼嵌入在頁面的頂部、表單的最前 (<form>后面),適用于要在控件加載前執行的JS代碼,類似于上面的Response.Write方式 :System.Web.UI.Page page = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler;if (!page.ClientScript.IsClientScriptBlockRegistered(page.GetType(),"clientScript")) page.ClientScript.RegisterClientScriptBlock(page.GetType(), "clientScript", "<script language=javascript>alert('JS代碼');</script>");

那么,方法2和方法3之間有何不同呢?主要區別在于,RegisterStartupScript方法是將 JavaScript 嵌入到 ASP.NET 頁面的底部,恰好位于關閉元素</form>的前面。RegisterClientScriptBlock方法是將 JavaScript 嵌入到頁面中開啟元素<form>的緊后面。那么,這有何不同呢?正如我們將要看到的,這有很大的不同。

就此列舉一例,以下是在頁面加載到瀏覽器時,將焦點置于該頁面上的一個文本框中的方法 - 使用利用了RegisterStartupScript方法的 Visual Basic:

<span style="color: rgb(255, 0, 0);">Page.ClientScript.RegisterStartupScript(Me.GetType(), "Testing", _   "document.forms[0]['TextBox1'].focus();", True)</span>

由于在瀏覽器運行到頁面底部并執行此小段 JavaScript 時,就已生成了頁面上的文本框,并已將其放到了頁面中,因此,此方法運行正常。但是,如果不按照上述方法,而編寫如下代碼(使用RegisterClientScriptBlock方法):

<span style="color: rgb(255, 0, 0);">Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "Testing", _  "document.forms[0]['TextBox1'].focus();", True)</span>

文本框控件將不會獲得焦點,且會在頁面上生成一個 JavaScript 錯誤 。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潞西市| 辽阳市| 淳化县| 晋江市| 壶关县| 宜君县| 日土县| 合江县| 广德县| 榕江县| 吉木萨尔县| 元谋县| 平定县| 辽宁省| 上饶市| 正阳县| 全南县| 安丘市| 保定市| 马山县| 双鸭山市| 深州市| 黄骅市| 青岛市| 荣成市| 新宾| 图们市| 射洪县| 和平县| 汕头市| 营山县| 光泽县| 新昌县| 彰化市| 天津市| 安吉县| 长葛市| 镇远县| 河东区| 收藏| 嘉兴市|