標籤:blog http color io os ar java for sp
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提供的http://www.fineui.com/demo/#/demo/other/custom_postback2.aspx後台
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。
ASP.NET-FineUI開發實踐-9(三)