zoukankan      html  css  js  c++  java
  • 结合JavaScript与ASP.NET Web窗体进行程序开发

    ASP.NET为Web程序开发提供了新的范例。其中包括一系列基于服务器的控件,这些控件类似于HTML窗体中诸如文本框、按钮等元素。使用这些控件的问题是必须调用服务器。JavaScript为很多任务提供多种选择的机会,而这些过程不需要调用服务器。让我们来看结合JavaScript与ASP.NET所带来的强大功能。

    性能是必需的
    调用服务器要求带宽和服务器处理时间,然而对一个可以享受高速流通的局域网程序将不会有任何问题,但是在广域网中就是不同的情况。一个因特网用户连接速度的不同主要取决于用户的拨号调制解调器、带宽或者电缆调制解调器。使用用户型的JavaScript可以不需要调用服务器。

    传统方法
    一个标准的网页窗体包括像标题框、正文和窗体在内的页面。JavaScript函数按传统方法被放置在网页窗体的标题框,这些函数允许被页面的其它部分载入和利用,一旦被载入,这些函数将从HTML元素中调用。

    让我们看看一个简单的JavaScript的例子:

     1function valSubmit() {
     2    var doc = document.forms[0];
     3    varmsg = "";
     4
     5    if (doc.firstName.value == ""{
     6
     7        msg += "- Please enter a first name.n";
     8    }

     9
    10    if (doc.lastName.value == ""{
    11        msg += "- Please enter a last name.n";
    12    }

    13
    14    if (msg == ""{
    15        doc.submit();
    16    }
     else {
    17        alert("The following errors were
    18        encountered.nn" + msg);
    19    }

    20}

    这一函数将检验数据被传送到窗体中的两个HIML区。如果其中一个区是空的,将显示错误信息并且停止运行。如果两个区都有值时,窗体被提交,你可以使用以下的代码调用这一函数:

    1<input type="button" value="submit" name="btnSubmit" onClick="valSubmit();"


    利用这一关系,在HIML区没有数据之前,窗体是不会被提交的。这样我们可以看到,代码变得更加简单,但是由于无需调用额外的服务器而不会产生任何副作用。JavaScript简短而实用,这就意味着窗体不需要额外的载入时间。

    将JavaScript和ASP.NET结合在一起
    ASP.NET网页窗体允许使用标准的HTML,因此你可以容易地使用前面的范例。ASP.NET用户控件允许你很轻松地调用服务器代码来处理 Web窗体。庆幸的是,用户控件和JavaScript的结合使用完全是可以的。我将利用一个ASP.NET按钮控件的例子来说明这一使用过程。

    按钮控件的所有属性提供了将JavaScript连接到控件的方式。首先,将JavaScript函数放置在ASP.NET网页窗体中,但是通过添加返回值可以改变放置的方法。如果确认通过,函数值返回为真,与按钮相关的服务器函数就会别调用。如果返回值为假,则窗体不会被提交。

     1<%@ Page language="c#" %>
     2<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
     3<html><head>
     4<title>WebForm1</title>
     5<script language="javascript">
     6function valSubmit() {
     7    var doc = document.forms[0];
     8    varmsg = "";
     9    
    10    if (doc.firstName.value == "") {
    11        msg += "- Please enter a first name.n";
    12    }
    13    if (doc.lastName.value == "") {
    14        msg += "- Please enter a last name.n";
    15    }
    16    if (msg == "") {
    17        doc.submit();
    18        return true;
    19    } else {
    20        alert("The following errors were encountered.nn" + msg);
    21        return false;
    22    } 
    23}
    24</script>
    25<script language="C#" runat="server">
    26private void btnSearch_Click(object sender, System.EventArgs e) {
    27    Response.Write("Search");
    28}
    29private void Page_Load(object sender, System.EventArgs e) {
    30    btnSubmit.Attributes.Add("onClick", "return valSubmit();");
    31}
    32</script></head>
    33<body>
    34<form id="frmBuilderTest" method="post" runat="server">
    35<label style="Z-INDEX: 101; LEFT: 10px; POSITION: absolute; TOP: 48px">First Name:</label>
    36<input style="Z-INDEX: 102; LEFT: 88px; POSITION: absolute; TOP: 48px" type="text" name="firstName" id="firstName">
    37<label style="Z-INDEX: 103; LEFT: 10px; POSITION: absolute; TOP: 88px">Last Name:</label>
    38<input style="Z-INDEX: 104; LEFT: 88px; POSITION: absolute; TOP: 88px" type="text" name="lastName" id="lastName">
    39<br /><br />
    40<asp:Button id="btnSubmit" style="Z-INDEX: 105; LEFT: 64px; POSITION: absolute;
    41  TOP: 128px" runat="server" Text="Submit" Width="136px" OnClick="btnSearch_Click"></asp:Button>
    42</form>
    43</body>
    44</html>

    这些代码中最为关键的一行是:

    1btnSubmit.Attributes.Add("onClick", "return valSubmit();");

    通过风格属性使用CSS可以将元素放置在HIML窗体。窗体将JavaScript函数和ASP.NET 按钮 (btnSubmit)以及HTML的onClick事件连接起来。在窗体被提交给服务器时,ASP.NET Button 中的onClick属性会通知系统调用哪些函数。

    如果你是一名VB.NET开发人员,对于前面代码,只需要改变代码中的C#模块。VB.NET相应的代码如下:

    1<script language="vb" runat="server"
    2Private btnSearch_Click (sender As Object, e As System.EventArgs)
    3      Response.Write("Search")
    4End Sub
    5Private Page_Load(sender As Object, e As System.EventArgs)
    6      btnSubmit.Attributes.Add("onClick""return valSubmit();")
    7End Sub
    8/script>

    功能强大的JavaScript和ASP.NET结合

    JavaScript是面向用户网页开发的实用标准语言,它与ASP.NET Web窗体的结合,为开发人员提供了一个功能强大的用于构建稳固程序的工具集,而程序的稳固性被认为软件性能的一个关键组成部分。

  • 相关阅读:
    poj2386 Lake Counting
    poj 1852 Ants
    Luogu P2419 [USACO08JAN]牛大赛Cow Contest
    Luogu P2336 [SCOI2012]喵星球上的点名
    Luogu P2463 [SDOI2008]Sandy的卡片
    Luogu P2852 [USACO06DEC]牛奶模式Milk Patterns
    Luogu P4248 [AHOI2013]差异
    【NOI2008】志愿者招募
    Luogu P2743 [USACO5.1]乐曲主题Musical Themes
    P3723 [AH2017/HNOI2017]礼物
  • 原文地址:https://www.cnblogs.com/meil/p/533918.html
Copyright © 2011-2022 走看看