EXT.NET_X.Js.Call方法

原创 2011年07月19日 15:07:11

我们对在前台触发一个客户端事件,来操作界面元素,已经很熟悉,但这属于静态脚本范畴。往往有些时候,我们还需要动态脚本,也就是说,脚本在执行过程中需要的变量,是从服务器端获得的,那么X.Js.Call方法的作用,就是将服务器端变量传给客户端脚本,并执行脚本。

例子

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="AM.Web.Pages.Test" %>

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!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></title>

    <script type="text/javascript">
        var myAlert = function() {
            alert("警告");
        }
        var myAlert2 = function(id, val) {
            var txtField = Ext.getCmp(id);
            txtField.setValue(val);
            alert(txtField.getValue());
        }
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <ext:ResourceManager ID="ResourceManager1" runat="server" />
    <ext:Button ID="Button1" runat="server" OnDirectClick="Button1_Click" Text="X.Js.Call一个参数的">
    </ext:Button>
    <ext:Button ID="Button2" runat="server" OnDirectClick="Button2_Click" Text="X.Js.Call两个参数的">
    </ext:Button>
    <ext:TextField ID="TextField1" runat="server" Text="">
    </ext:TextField>
    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Ext.Net;

namespace AM.Web.Pages
{
    public partial class Test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Button1_Click(object sender, DirectEventArgs e)
        {
            X.Js.Call("myAlert");
        }
        protected void Button2_Click(object sender, DirectEventArgs e)
        {
            string[] paras = new string[] { this.TextField1.ClientID, "警告" };
            X.Js.Call("myAlert2", paras);
        }
    }
}

说明

1,Button2将服务器端变量传给脚本方法“myAlert2”,脚本根据这个值设置页面控件,并显示。


[每日问答]生成方法和判别方法有什么区别?

生成方法和判别方法有什么区别?
  • cloud_xiaobai
  • cloud_xiaobai
  • 2017年05月16日 10:14
  • 227

java8 - 方法引用(method referrance)

方法引用的概念        某些lambda表达式里面仅仅是执行一个方法调用。在这种情况下,不用lambda表达式,直接通过方法名称引用方法的形式可读性更高一些,这种形式就是方法引用,方法引用是一...
  • wwwsssaaaddd
  • wwwsssaaaddd
  • 2014年07月08日 21:04
  • 10324

lua 元方法

事件名与元方法 仅表(table)类型值对应的元表可由用户自行定义。其他类型的值所对应的元表仅能通过 Debug 库进行修改。 元表中的事件名均以两条下划线 __ 作为前缀,元表支持的事件...
  • yangzhenzhen
  • yangzhenzhen
  • 2016年04月24日 14:39
  • 1671

方法与函数

我们之前在C中学习的函数,就叫做函数. void test() { } 在OC类中写的方法.就叫做方法. - (void)sayHi; 相同点:都是用来封装1段代码的. 将1段...
  • yi_zz32
  • yi_zz32
  • 2015年09月20日 21:43
  • 1413

HTTP Servlet 重要的几个方法

HTTP Servlet继承了GencenServlet类    GencenServlet实现了两个接口··一个用于ServletConfig设置接口,一个为Servlet接口只要是(1) init...
  • besttaling
  • besttaling
  • 2009年10月27日 16:10
  • 12351

Python的方法定义

常用的方法定义方法在OOP中会经常用到,减少代码的冗余,作为一门面向对象的语言,Python自然也有自己的方法定义。那么怎样在Python中定义一个方法呢,很简洁的方法:define function...
  • cnpython
  • cnpython
  • 2011年02月18日 09:49
  • 15619

Redis的常用方法总结

public static RedisDao jedis; public static void main(String[] args) { jedis=(RedisDao) c...
  • wanghuan203
  • wanghuan203
  • 2016年01月31日 21:54
  • 5319

Canvas的各种方法大集合

一、Canvas简介 Canvas类 二、用Canvas画直线,画圆,画弧线,画文字 1.画直线——drawLine(); public void drawLine (float startX...
  • abbydong
  • abbydong
  • 2015年11月14日 16:32
  • 1616

多态&动态绑定&方法匹配&方法绑定

1)多态:父类型的变量,可以引用子类型的对象 class A{ } class B extends A{ }那么可以 A a = new B(); 其中这里的A叫做声明类型,B叫做实际类型 那么这里...
  • qq_18433441
  • qq_18433441
  • 2017年08月23日 10:58
  • 352

Eclipse提取方法

方法一:使用菜单命令 方法二:Ctrl+1 方法三:快捷键Alt+Shift+M
  • songyi160
  • songyi160
  • 2016年11月15日 09:54
  • 1333
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EXT.NET_X.Js.Call方法
举报原因:
原因补充:

(最多只允许输入30个字)