zoukankan      html  css  js  c++  java
  • ASP.NET-FineUI开发实践-9(三)

    1. TextChanged事件前台触发回发后台,接上文,先给TextBox1加上事件,看看是怎么生成出来的, 注意AutoPostBack="true",找源代码,f4多出了个

            listeners: {
                change: function () {
                    __doPostBack('SimpleForm1$TextBox1', '');
                }
            }
    

      在extjs API里搜 listeners 是监听事件的意思,change当然就是事件注意可以三个参数,例子里没写但api里有,__doPostBack就是回发,没了。

            function add() {
                var row = Ext.create('Ext.form.field.Text', {
                    f_state: {},
                    fieldLabel: "文本框 1",
                    labelWidth: 180,
                    anchor: "0",
                    name: "SimpleForm1$TextBox1",
                    allowBlank: false,
                    listeners: {
                        //事件
                        change: {
                            fn: function (el, newvalue, oldvalue) {
                                //回发
                                F.customEvent(this.id + newvalue);
                            }
                        }
                    }
                });
                F('<% =SimpleForm1.ClientID %>').insert(3, row);
            }
    

      

    注意回发方法,F.customEvent(this.id + newvalue);走的是PageManager的OnCustomEvent="PageManager1_CustomEvent"事件,FineUI提供的
    后台
            protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
            {
                Alert.Show("这个事件是回发的"+e.EventArgument);
            }
    

      

    2. 改变颜色这里用jq的css控制,首先找到元素
    F12,上图
    JQ没学过就不要看了,注意直接this.id就是该生成控件的ID,
                    listeners: {
                        change: {
                            fn: function (el, newvalue, oldvalue) {
                                //F.customEvent(this.id + newvalue);
                            }
                        },
                        //渲染完成后触发事件,查看API
                        render: {
                            fn: function () {
                                //得到元素,改变css,注意this.id空格input
                                $('#' + this.id + ' input').css("color", "red");
                            }
                        }
                    }
    

      

    直接找到元素就是 $('#<%= TextBox1.ClientID %> input').css("color", "red");
     
    还要讲的例子是列隐藏触发后台方法,就可以保存到数据库了,要改的不仅仅是页面上的东西,至此就有了属于自己的FineUI。
  • 相关阅读:
    jquery绑定点击事件动画BUG
    初步了解XSS攻击
    构造函数、原型对象、原型链之间的关系
    SQA计划和系统测试规程
    第四次scrum冲刺
    第二次Scrum冲刺
    前端面试题整理
    vue 2 简化版数据响应原理
    Vue3.0 简化版数据响应式原理
    git commit规范
  • 原文地址:https://www.cnblogs.com/shiworkyue/p/4033378.html
Copyright © 2011-2022 走看看