• ASP.NET 动态加载控件 JavaScript 篇


    今天 想DEMO 一下,使用 动态控件 来增加 JavaScript 的功能

    平常 在做 互动网页时,JavaScript 跟 ASP.NET 的互动 一定会 很频繁

    今天这个范例 一方面demo 如何动态增加 JavaScript 在我门的控件上,

    一方面也示范 JavaScript 如何 跟 ASP.NET 互动中一个很基本的方式,下面 这范例 还蛮有趣的,

    因为不想写太多程式码,但是要做互动效果一般都是要两个ASP.NET 程式 比较好,结果让我想了一下才搞出来。

    以下程式延续 上一篇,加上 JavaScript 来另开一个网页呼叫自己本身并传递 input 控件所输入的值,在重新设定 button 所会触发的 JavaScript

    让其可以回传 input 的值到原网页上。

    简言之,本程式一人释二角,有递回使用的味道在里面了,该程式也诠释出一部份动态控件的精神和优势,也就是互动控制

    ,藉由外部使用者的设定、输入等,来动态设定网页的呈现与控制方式,这个在很多程式语言、网页程式中都可看到类似精神,但 ASP.NET 最吸引人的地方,

    就是 可以用物件化的方式,来制作网页。

    下面程式只是作一简单的示范,其中精神读者可以仔细了解祥加运用

    JS_Demo.aspx 

     1 <%@ Page Language="C#" AutoEventWireup="True" %>
    2
    3 <script language="C#" runat=server>
    4 public void Page_Init(object sender, System.EventArgs e)
    5 {
    6 string val = Request.QueryString.Get("val");
    7
    8 Label message = new Label();
    9 message.ID = "请输入你要说的话";
    10 sourceTag.Controls.Add(message);
    11
    12 TextBox input = new TextBox();
    13 input.ID = "input";
    14 input.Text = val;
    15 sourceTag.Controls.Add(input);
    16
    17 Button btnSayHello = new Button();
    18 btnSayHello.ID = "btnSayHello";
    19 btnSayHello.Text = "SayHello";
    20 if(val != "" && val != null)
    21 btnSayHello.Attributes.Add("OnClick", "return SetValue(" + input.ClientID + ");");
    22 else
    23 btnSayHello.Attributes.Add("OnClick", "return GetOtherValue(" + input.ClientID + ");");
    24 sourceTag.Controls.Add(btnSayHello);
    25 }
    26
    27 void SubmitBtn_Click(Object sender, EventArgs e)
    28 {
    29 TextBox input = (TextBox)sourceTag.FindControl("input");
    30 LiteralControl lc;
    31 lc = new LiteralControl("<H3>" + input.Text + "</H3>");
    32 sourceTag.Controls.Add(lc);
    33 }
    34
    35 </script>
    36 <html>
    37 <head>
    38 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    39 </head>
    40 <body>
    41 <script type = "text/javascript">
    42 var myInput;
    43 function GetOtherValue(ctrl) {
    44 myInput = ctrl;
    45 var hWnd = window.open("JS_Demo.aspx?val=" + ctrl.value, "_blank" );
    46 if ((document.window != null) && (!hWnd.opener))
    47 hWnd.opener = document.window;
    48 return false;
    49 }
    50 function SetValue(ctrl) {
    51 window.opener.myInput.value = "Re: " + ctrl.value;
    52 return false;
    53 }
    54 </script>
    55 <form runat="server">
    56
    57 <h3>动态增加控件 JavaScript 篇</h3>
    58
    59 <p/>
    60 <div id="sourceTag" runat="server">
    61 </div>
    62 <p/>
    63 一条小龙
    64 </form>
    65 </body>
    66 </html>


    一條小龍

  • 相关阅读:
    workerPool _ golang
    jsp:JDBCmysql数据库连接
    jsp:session的跟踪方式
    js:使用nodejs为页面传递mysql中的数据
    js:网页中的高和宽(document)
    js:nodejs简单的Http服务器搭建
    js:面向对象编程
    js:nextSibling兄弟节点的使用
    java:mysql基础语法
    jsp:常用标签的核心标签的使用
  • 原文地址:https://www.cnblogs.com/babydragoner/p/2263601.html
Copyright © 2020-2023  润新知