• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    asp.net中eval不能定義變量的問(wèn)題的解決方法

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:40:21
    文檔

    asp.net中eval不能定義變量的問(wèn)題的解決方法

    asp.net中eval不能定義變量的問(wèn)題的解決方法: 代碼如下:eval.asp <%@ LANGUAGE='JAVASCRIPT'%> <script Language=javascript runat=server> eval(var f1=1,f2=2,f3=3;); Response.Write(f1+<br/>); Response.Write(f
    推薦度:
    導(dǎo)讀asp.net中eval不能定義變量的問(wèn)題的解決方法: 代碼如下:eval.asp <%@ LANGUAGE='JAVASCRIPT'%> <script Language=javascript runat=server> eval(var f1=1,f2=2,f3=3;); Response.Write(f1+<br/>); Response.Write(f

    代碼如下:

    eval.asp
    <%@ LANGUAGE='JAVASCRIPT'%>
    <script Language="javascript" runat=server>
    eval("var f1=1,f2=2,f3=3;");
    Response.Write(f1+"<br/>");
    Response.Write(f2+"<br/>");
    Response.Write(f3+"<br/>");
    </script>
    運(yùn)行結(jié)果:
    1
    2
    3
    eval01.aspx
    <%@ LANGUAGE='JAVASCRIPT' DEBUG="true"%>
    <script Language="javascript" runat=server>
    eval("var f1=1,f2=2,f3=3;");
    Response.Write(f1+"<br/>");
    Response.Write(f2+"<br/>");
    Response.Write(f3+"<br/>");
    </script>
    第三行出現(xiàn)語(yǔ)法錯(cuò)誤!
    可以通過(guò)對(duì)一個(gè)空對(duì)象動(dòng)態(tài)加屬性的方法,解決按表字段來(lái)定義變量的問(wèn)題:
    表名:T
    F1 int,
    F2 char(10),
    F3 datetime
    asp:
    eval(“var F1='',F2='',F3='';”);
    Response.Write(“F1=”+F1);
    aspx:
    var T={};
    T[“F1”]=””;
    T[“F2”]=””;
    T[“F3”]=””;
    Response.Write(“F1=”+T.F1);
    <%@ LANGUAGE='JScript' DEBUG="true"%>
    <%
    var TAB={
    };
    var n=12;
    var FLD;
    for(var i=0;i<n;i++)
    {
    FLD= "F0"+((i<10)?("00"):((i<100)?("0"):("")))+i;
    TAB[FLD]=i+1000;
    }
    for(var i=0;i<n;i++)
    {
    FLD= "F0"+((i<10)?("00"):((i<100)?("0"):("")))+i;
    Response.Write(TAB[FLD]+"<br/>");
    }
    %>

    微軟官方網(wǎng)站上對(duì)Jscript8.0的說(shuō)明:

    http://msdn.microsoft.com/zh-cn/library/8e4z2w8w(v=vs.90).aspx#jsconupgradingapplicationcreatedinpreviousversionsofjscriptanchor7

    升級(jí)先前的 JScript 版本中創(chuàng)建的應(yīng)用程序

    Visual Studio 2008

    其他版本

    ·Visual Studio 2010

    ·Visual Studio 2005

    此主題尚未評(píng)級(jí) - 評(píng)價(jià)此主題

    更新:2007 年 11 月

    大多數(shù)現(xiàn)有的 JScript 代碼都可以很好地使用 JScript 8.0 中包含的增強(qiáng)功能,因?yàn)閷?duì)于以前的版本,JScript 8.0 幾乎是完全向后兼容的。JScript 8.0 的新功能開創(chuàng)了新的天地。

    默認(rèn)情況下,JScript 8.0 程序是在快速模式 中編譯的。由于快速模式對(duì)所允許的代碼類型有一些限制,因此程序可能會(huì)更有效并執(zhí)行得更快。但是,以前版本中可用的一些功能在快速模式下不可用。這些功能大部分與多線程應(yīng)用程序不兼容,并會(huì)使代碼效率低下。對(duì)于用命令行編譯器編譯的程序,可以關(guān)閉快速模式,而利用完全的向后兼容性。注意,用這種方法編譯的代碼運(yùn)行得較慢,容錯(cuò)性也較差。在 ASP.NET 應(yīng)用程序中不能關(guān)閉快速模式,因?yàn)闀?huì)出現(xiàn)穩(wěn)定性問(wèn)題。有關(guān)更多信息,請(qǐng)參見(jiàn) /fast。

    快速模式

    在快速模式中,會(huì)觸發(fā)以下 JScript 行為:

    · 必須聲明所有變量。

    · 函數(shù)變?yōu)槌?shù)。

    · 內(nèi)部對(duì)象不能有 expando 屬性。

    · 不能列出或更改內(nèi)部對(duì)象的屬性。

    · arguments 對(duì)象不可用。

    · 不能給只讀變量、字段或方法賦值。

    · eval 方法不能在封閉范圍內(nèi)定義標(biāo)識(shí)符。

    · eval 方法在受限安全上下文中執(zhí)行腳本。

    必須聲明所有變量

    先前的 JScript 版本不要求顯式聲明變量。盡管此功能使程序員節(jié)省了擊鍵次數(shù),但它也使跟蹤錯(cuò)誤變得困難。例如,您可能賦值給拼寫錯(cuò)誤的變量名,這將既不生成錯(cuò)誤也不會(huì)返回需要的結(jié)果。而且,未聲明的變量具有全局范圍,還會(huì)引起其他混淆。

    快速模式要求顯示聲明變量。這有助于避免出現(xiàn)前面提到的各種錯(cuò)誤,并可產(chǎn)生運(yùn)行得更快的代碼。

    JScript .NET 還支持經(jīng)過(guò)類型批注的變量。這樣就將每個(gè)變量與特定的數(shù)據(jù)類型綁定在一起,該變量只能存儲(chǔ)那種類型的數(shù)據(jù)。盡管類型批注不是必須的,但使用它有助于避免與在變量中意外存儲(chǔ)錯(cuò)誤數(shù)據(jù)相關(guān)的那些錯(cuò)誤,并可提高程序執(zhí)行的速度。

    有關(guān)更多信息,請(qǐng)參見(jiàn) JScript 變量和常數(shù)。

    函數(shù)變?yōu)槌?shù)

    在以前的 JScript 版本中,用 function 語(yǔ)句聲明的函數(shù)與保存 Function 對(duì)象的變量被同等對(duì)待。特別是,任何函數(shù)標(biāo)識(shí)符都可用作變量,來(lái)存儲(chǔ)任何類型的數(shù)據(jù)。

    在快速模式中,函數(shù)變成了常數(shù)。因此,不能為函數(shù)賦新值或重新定義函數(shù)。這樣可避免意外更改函數(shù)的意義。

    如果您的腳本需要使函數(shù)發(fā)生更改,則可以顯式使用某個(gè)變量以保存 Function 對(duì)象的實(shí)例。但是請(qǐng)注意,F(xiàn)unction 對(duì)象運(yùn)緩慢。有關(guān)更多信息,請(qǐng)參見(jiàn) Function 對(duì)象。

    內(nèi)部對(duì)象不能有 expando 屬性

    在先前的 JScript 版本中,可以為內(nèi)部對(duì)象添加 expando 屬性。例如,此行為可用于為 String 對(duì)象添加方法以剪裁字符串前面的空格。

    在快速模式中,這是不允許的。如果您的腳本使用了此功能,則必須修改腳本。可以在全局范圍內(nèi)定義函數(shù),而不是將那些函數(shù)作為方法附加到對(duì)象上。然后,重寫腳本中的每個(gè)實(shí)例(在該腳本中 expando 方法是從對(duì)象中調(diào)用的),以便將對(duì)象傳遞給適當(dāng)?shù)暮瘮?shù)。

    此規(guī)則的一個(gè)重要例外是 Global 對(duì)象,它仍然可具有 expando 屬性。全局范圍內(nèi)的所有修飾符實(shí)際上都是 Global 對(duì)象的屬性。顯然,Global 對(duì)象必須能動(dòng)態(tài)擴(kuò)展以支持添加新的全局變量。

    不能列出或更改內(nèi)部對(duì)象的屬性

    在以前的 JScript 版本中,可以對(duì)內(nèi)部對(duì)象的預(yù)定義屬性進(jìn)行刪除、枚舉或?qū)懭搿@纾朔N行為可用于更改 Date 對(duì)象的默認(rèn) toString 方法。

    在快速模式中,這是不允許的。由于內(nèi)部對(duì)象不能具有 expando 屬性,因此不再需要此功能,而每個(gè)對(duì)象的屬性則列在參考部分。有關(guān)更多信息,請(qǐng)參見(jiàn)對(duì)象。

    arguments 對(duì)象不可用

    先前的 JScript 版本在函數(shù)定義中提供了一個(gè) arguments 對(duì)象,該對(duì)象允許函數(shù)接受任意個(gè)參數(shù)。該參數(shù)對(duì)象還可以引用當(dāng)前函數(shù)和調(diào)用函數(shù)。

    在快速模式中,arguments 對(duì)象不可用。但是,JScript 8.0 允許進(jìn)行函數(shù)聲明以便在函數(shù)參數(shù)列表中指定一個(gè)參數(shù)數(shù)組。這就允許函數(shù)接受任意多個(gè)參數(shù),從而取代了 arguments 對(duì)象的部分功能。有關(guān)更多信息,請(qǐng)參見(jiàn) function 語(yǔ)句。

    在快速模式中沒(méi)有辦法直接訪問(wèn)和引用當(dāng)前函數(shù)或調(diào)用函數(shù)。

    不能給只讀變量、字段或方法賦值

    在先前的 JScript 版本中,語(yǔ)句似乎可以為只讀標(biāo)識(shí)符賦值。這種賦值將無(wú)提示地失敗,而發(fā)現(xiàn)賦值失敗的唯一方法是測(cè)試值是否實(shí)際發(fā)生了更改。為只讀標(biāo)識(shí)符賦值通常是某種差錯(cuò)引起的,因?yàn)樗粫?huì)有任何效果。

    在快速模式中,如果試圖為只讀標(biāo)識(shí)符賦值,將生成編譯時(shí)錯(cuò)誤。要么可以移除該賦值,要么可以嘗試為非只讀的標(biāo)識(shí)符賦值。

    如果關(guān)閉快速模式,為只讀標(biāo)識(shí)符賦值將在運(yùn)行時(shí)無(wú)提示地失敗,但是會(huì)生成一個(gè)編譯時(shí)警告。

    eval 方法不能在封閉范圍內(nèi)定義標(biāo)識(shí)符

    在先前的 JScript 版本中,函數(shù)和變量可以通過(guò)調(diào)用 eval 方法在本地或全局范圍內(nèi)定義。

    在快速模式中,函數(shù)和變量可以在對(duì) eval 方法的調(diào)用中定義,但只能從這個(gè)特定的調(diào)用中對(duì)它們進(jìn)行訪問(wèn)。一旦完成 eval 后,在 eval 內(nèi)定義的函數(shù)和變量就不能再行訪問(wèn)。在 eval 內(nèi)計(jì)算所得的結(jié)果可以賦給當(dāng)前范圍內(nèi)可訪問(wèn)的任何變量。對(duì) eval 方法的調(diào)用很慢,應(yīng)考慮重寫包含這些調(diào)用的代碼。

    當(dāng)關(guān)閉快速模式時(shí),可恢復(fù) eval 方法的先前行為。

    eval 方法在受限安全上下文中執(zhí)行腳本

    在以前版本的 JScript 中,傳遞至 eval 方法的代碼將與調(diào)用代碼在同一安全上下文中運(yùn)行。

    為了保護(hù)用戶,傳遞至 eval 方法的代碼會(huì)在受限安全上下文中執(zhí)行,除非將字符串“unsafe”作為第二個(gè)參數(shù)傳遞。受限安全上下文禁止訪問(wèn)系統(tǒng)資源,如文件系統(tǒng)、網(wǎng)絡(luò)或用戶界面。如果代碼試圖訪問(wèn)這些資源,則會(huì)產(chǎn)生安全異常。

    當(dāng) eval 的第二個(gè)參數(shù)為字符串“unsafe”時(shí),傳遞給 eval 方法的代碼在調(diào)用代碼所在的安全上下文中執(zhí)行。這樣,可以還原 eval 方法以前的行為。

    安全說(shuō)明:

    以非安全模式使用 eval 只能執(zhí)行從已知源獲得的代碼字符串

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    asp.net中eval不能定義變量的問(wèn)題的解決方法

    asp.net中eval不能定義變量的問(wèn)題的解決方法: 代碼如下:eval.asp <%@ LANGUAGE='JAVASCRIPT'%> <script Language=javascript runat=server> eval(var f1=1,f2=2,f3=3;); Response.Write(f1+<br/>); Response.Write(f
    推薦度:
    標(biāo)簽: 不能 解決 定義
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品 一区 在线| 一色屋精品视频在线观看| 久久久久亚洲精品天堂久久久久久| 久久精品国产第一区二区三区 | 欧美日韩成人精品久久久免费看| 久久影院综合精品| 国产精品丝袜久久久久久不卡| 欧美日韩国产精品| 国产美女久久精品香蕉69| 99精品电影一区二区免费看| 中日精品无码一本二本三本| 国产精品中文字幕在线观看| 精品中文高清欧美| 亚洲成人精品久久| 996久久国产精品线观看| 亚洲精品天堂成人片?V在线播放| 柠檬福利精品视频导航| 国精品午夜福利视频不卡| 亚洲精品欧美精品日韩精品 | 欧美国产亚洲精品高清不卡| 精品国产高清在线拍| 久久精品aⅴ无码中文字字幕重口| 一本久久a久久精品综合夜夜| 亚洲精品成a人在线观看| 精品国内片67194| 日产精品一线二线三线芒果| 精品亚洲综合久久中文字幕| 亚洲精品99久久久久中文字幕| 国产成人精品久久亚洲高清不卡 | 人人妻人人澡人人爽人人精品97 | 亚洲AV无码久久精品色欲| 99热日韩这里只有精品| 国产午夜精品一区二区三区漫画| 狠狠精品久久久无码中文字幕| 久久精品国产亚洲av麻豆色欲 | 蜜国产精品jk白丝AV网站 | 国产成人久久精品区一区二区| 夜夜高潮夜夜爽国产伦精品| 国产线视频精品免费观看视频| 97久久久久人妻精品专区| 日韩av无码久久精品免费|