您现在的位置: 365建站网 > 365文章 > 尝试用JScript .NET编写ASP.NET程序

尝试用JScript .NET编写ASP.NET程序

文章来源:365jz.com     点击数:558    更新时间:2009-10-07 10:56   参与评论

一、我为什么会有这样的想法

本人一直从事WEB前端开发工作,所以对CSS和JavaScript是比较熟悉的,同时工作之余也会玩玩后台编程,自然对C#也是了解的,也知道C#是微软.NET平台的主推语言,本人也在提高中。同时我也想过能否用自己最熟悉的JavaScript作为后台编程语言,我这里指的不是传统的ASP,而是ASP.NET,抱着这个想法,最终被我发现了JScript .NET可以实现我的需求,首次使用再此做个笔记。当然我只是拿它来玩玩的,因为把JScript .NET作为实际项目的开发语言显然是很不明聟的,因为用的人太少,文档也少,也不便于团队合作开发大项目,最糟糕的是它没有一个好的开发与调试IDE,连微软自己的VS都不能很好支持(这里指对操作.NET方面的方法属性等提供自动完成及调器功能,而不是基本JS编写,如果是基本编程可以选择Apatana和VS2008)。

二、什么是JScript .NET

相信大家对JavaScript绝对不会陌生,因为你对AJAX并不陌生,其实JScript就是微软版本的JavaScript,它几乎与JavaScript是一样的,而且还扩展了部分实用方法。在早期ASP流行的时候,它也与VBscript一样可以作为服务器端运行的脚本语言。而JScript .NET可以说是JScript的最新版本,即JScript 8.0,它在功能上有质的突破,它的设计目的是为JScript开发人员提供访问.NET公共类库的方法,即它可以开发基于.NET平台的应用程序,甚至是.NET WinForm程序。通过对JScript 8.0文档了解,发现我们可以通过.NET SDK或VS IDE把JS文件编译成exe或dll文件,而这些文件又因为是基于.NET通用中间语言编译的,所以又可以被其它语言访问,这一定让你大开眼界。

三、JScript .NET较之传统的JavaScript及JScript有什么优势

通过对JScript .NET的了解以及将其与同类语言对比,我们很容易发现它的优势:

(1)功能更丰富。提供了众多额外实用方法和特性。

(2)更面向对象。直接提供类与继承等关键字,可以显式声明变量类型,还有包的概念和定义方法,方便代码组织和管理。

(3)执行可以更快。与.NET平台支持其它语言一样,支持编译执行,执行效率与其它语言几乎是同等的。

四、JScript .NET访问数据库的例子

代码相当简单,就不加注释了,你可以看到常见的.NET方法。本人测试通过,数据库连接与SQL语句改成你自己实际查询数据,要求.NET 2.0以上环境。本例非原创,网上抄的。

<%@ 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程序实例</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>

五、注意事项

(1)通常情况下我们在ASP.NET WEB控件页(ASPX文件)页头用Page指令指定了页面使用默认编程语言后,在HTML正文我们可以使用像<% %>的方式来包含执行代码块。但是我发现使用Page_Load方法或操作一些ASP.NET服务器控件的时候,必须使用带runat=”server”属性的<script>块,否则什么内容都不输出,不知道是不是我的系统问题,还望有朋友指点。

(2)JScript官方文档说对于变量类型的声明,可以指定也可以不指定,比如像var sql:String可以简单写成var sql,但是我发现有些变量的类型是一定要声明的,不然也会有问题,比如function Page_Load(sender,e:EventArgs)中的e就要显式声明为EventArgs类型,否则你也将得不到预期效果。

六、相关资源

· JScript.NET通俗教程

· MSDN 含有JScript.NET演示实例

· JScript 8.0 语言参考手册chm 下载

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (558人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号