zoukankan      html  css  js  c++  java
  • 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>


    一條小龍

  • 相关阅读:
    Django高级编程之自定义Field实现多语言
    Python魔法方法__getattr__和__getattribute__详解
    Python深入浅出property特性属性
    Python中使用__new__实现单例模式并解析
    Python中类方法、__new__方法和__init__方法解析
    Python中可迭代对象、迭代器以及iter()函数的两个用法详解
    Docker ubuntu apt-get更换国内源解决Dockerfile构建速度过慢
    Python抽象基类中__subclasshook__方法的使用并实现自己的虚拟子类
    Scrapy-redis分布式爬虫爬取豆瓣电影详情页
    PHP5.5+ APC 安装
  • 原文地址:https://www.cnblogs.com/babydragoner/p/2263601.html
Copyright © 2011-2022 走看看