五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 嘗試用JScript .NET編寫ASP.NET程序

嘗試用JScript .NET編寫ASP.NET程序

文章來(lái)源:365jz.com     點(diǎn)擊數(shù):571    更新時(shí)間:2009-10-07 10:56   參與評(píng)論

一、我為什么會(huì)有這樣的想法

本人一直從事WEB前端開發(fā)工作,所以對(duì)CSS和JavaScript是比較熟悉的,同時(shí)工作之余也會(huì)玩玩后臺(tái)編程,自然對(duì)C#也是了解的,也知道C#是微軟.NET平臺(tái)的主推語(yǔ)言,本人也在提高中。同時(shí)我也想過能否用自己最熟悉的JavaScript作為后臺(tái)編程語(yǔ)言,我這里指的不是傳統(tǒng)的ASP,而是ASP.NET,抱著這個(gè)想法,最終被我發(fā)現(xiàn)了JScript .NET可以實(shí)現(xiàn)我的需求,首次使用再此做個(gè)筆記。當(dāng)然我只是拿它來(lái)玩玩的,因?yàn)榘袹Script .NET作為實(shí)際項(xiàng)目的開發(fā)語(yǔ)言顯然是很不明聟的,因?yàn)橛玫娜颂?,文檔也少,也不便于團(tuán)隊(duì)合作開發(fā)大項(xiàng)目,最糟糕的是它沒有一個(gè)好的開發(fā)與調(diào)試IDE,連微軟自己的VS都不能很好支持(這里指對(duì)操作.NET方面的方法屬性等提供自動(dòng)完成及調(diào)器功能,而不是基本JS編寫,如果是基本編程可以選擇Apatana和VS2008)。

二、什么是JScript .NET

相信大家對(duì)JavaScript絕對(duì)不會(huì)陌生,因?yàn)槟銓?duì)AJAX并不陌生,其實(shí)JScript就是微軟版本的JavaScript,它幾乎與JavaScript是一樣的,而且還擴(kuò)展了部分實(shí)用方法。在早期ASP流行的時(shí)候,它也與VBscript一樣可以作為服務(wù)器端運(yùn)行的腳本語(yǔ)言。而JScript .NET可以說(shuō)是JScript的最新版本,即JScript 8.0,它在功能上有質(zhì)的突破,它的設(shè)計(jì)目的是為JScript開發(fā)人員提供訪問.NET公共類庫(kù)的方法,即它可以開發(fā)基于.NET平臺(tái)的應(yīng)用程序,甚至是.NET WinForm程序。通過對(duì)JScript 8.0文檔了解,發(fā)現(xiàn)我們可以通過.NET SDK或VS IDE把JS文件編譯成exe或dll文件,而這些文件又因?yàn)槭腔?NET通用中間語(yǔ)言編譯的,所以又可以被其它語(yǔ)言訪問,這一定讓你大開眼界。

三、JScript .NET較之傳統(tǒng)的JavaScript及JScript有什么優(yōu)勢(shì)

通過對(duì)JScript .NET的了解以及將其與同類語(yǔ)言對(duì)比,我們很容易發(fā)現(xiàn)它的優(yōu)勢(shì):

(1)功能更豐富。提供了眾多額外實(shí)用方法和特性。

(2)更面向?qū)ο蟆?/STRONG>直接提供類與繼承等關(guān)鍵字,可以顯式聲明變量類型,還有包的概念和定義方法,方便代碼組織和管理。

(3)執(zhí)行可以更快。與.NET平臺(tái)支持其它語(yǔ)言一樣,支持編譯執(zhí)行,執(zhí)行效率與其它語(yǔ)言幾乎是同等的。

四、JScript .NET訪問數(shù)據(jù)庫(kù)的例子

代碼相當(dāng)簡(jiǎn)單,就不加注釋了,你可以看到常見的.NET方法。本人測(cè)試通過,數(shù)據(jù)庫(kù)連接與SQL語(yǔ)句改成你自己實(shí)際查詢數(shù)據(jù),要求.NET 2.0以上環(huán)境。本例非原創(chuàng),網(wǎng)上抄的。

<%@ page language="JScript" %>
<%@ import namespace="System.Data.SqlClient" %>
<!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>用Jscript .NET編寫ASP.NET程序?qū)嵗?/SPAN></title>
</head>
<body>
<form id="form1" runat="server">
<script runat="server">
function Page_Load(sender,e:EventArgs)
{
    
if (!IsPostBack)
    {
        
var db:String = "server=.;uid=sa;pwd=sa;database=News";  
        
var sql:String = "select top 10 * from News";  
        
var rs = SqlDataReader;
        
var conn:SqlConnection = new SqlConnection(db);  
        
var cmd:SqlCommand = new SqlCommand(sql,conn);    
        
try 
        {
            conn.Open();
            rs 
= cmd.ExecuteReader();
            
if (rs.HasRows)
            {
                
while (rs.Read()) 
                {
                    Response.Write(rs[
"Title"].ToString()+"<br/>");
                }
            }
            
else
            {
                Response.Write(
"Not Found");  
            }
            rs.Close();
            conn.Close();  
        } 
        
catch(e)
        {
            Response.Write(
"Error!");
        }
        
finally 
        {
            cmd.Dispose();
            conn.Dispose();
        }
    }
}
</script>
</form>
</body>
</html>

五、注意事項(xiàng)

(1)通常情況下我們?cè)贏SP.NET WEB控件頁(yè)(ASPX文件)頁(yè)頭用Page指令指定了頁(yè)面使用默認(rèn)編程語(yǔ)言后,在HTML正文我們可以使用像<% %>的方式來(lái)包含執(zhí)行代碼塊。但是我發(fā)現(xiàn)使用Page_Load方法或操作一些ASP.NET服務(wù)器控件的時(shí)候,必須使用帶runat=”server”屬性的<script>塊,否則什么內(nèi)容都不輸出,不知道是不是我的系統(tǒng)問題,還望有朋友指點(diǎn)。

(2)JScript官方文檔說(shuō)對(duì)于變量類型的聲明,可以指定也可以不指定,比如像var sql:String可以簡(jiǎn)單寫成var sql,但是我發(fā)現(xiàn)有些變量的類型是一定要聲明的,不然也會(huì)有問題,比如function Page_Load(sender,e:EventArgs)中的e就要顯式聲明為EventArgs類型,否則你也將得不到預(yù)期效果。

六、相關(guān)資源

· JScript.NET通俗教程

· MSDN 含有JScript.NET演示實(shí)例

· JScript 8.0 語(yǔ)言參考手冊(cè)chm 下載

如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (571人查看0條評(píng)論)
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)