|
|
|
|
|
|||||
|
|||||
| 樓主 ianan
|
想請問一下,我在一個A.aspx檔裡面拉了ㄧ個B.ascx控制項
B.ascx裡面寫的是ㄧ個treeview, 現在碰到一個難題, 我在B.ascx裡面的TreeView1_SelectedNodeChanged1(object sender, EventArgs e)事件裡面 取得被點選的node value跟他的text, 可是要如何在A.aspx裡面取得node value跟text? 可以的話不用session或是cookie. 我本來在B.ascx裡面寫了property去get,set屬性, 想說在A.aspx的page_load裡面,new一個B.ascx 再用property去get, 可是再我點選tree的某個節點後 B.ascx可以取得node value 跟 text的值, 但ㄧ跳到A.aspx,卻又變null, 我想說可能是因為是在A.aspx的page_load裡面new一個B.ascx 每次都new一個新的,所以他不可能抓到, 現在一整個苦惱中..不知道有沒有大大可以幫解
本篇文章發表於2008-02-24 20:54
|
||||
| VP、EP、QP、HP該如何使用? | 2010年藍色小舖認證專家風雲榜完全名單 |
| 1樓 |
您可以為b.ascx設計一個事件, 由page去訂閱它,那麼b.ascx觸發事件時,page就可以處理它
若您要runtime才建立b.ascx,就在page init event裡加入這uc,事件就抓得到了
本篇文章回覆於2008-02-24 22:14
=========================================網站 : http://www.allenkuo.com/ |
||||
| 2樓
作者回應
ianan
|
Allen前輩,如果我是想在ascx那個treeview的點選事件裡面取得值,
再傳回aspx 還是要寫自訂事件嗎@@?
本篇文章回覆於2008-02-25 09:13
|
||||
| 3樓 |
HI~
您這問題我有問過! 我想可以用兩種方式,一種是網址帶參數去送 ASPX頁面就接收Request.Querystring 或者用Event去傳值 在uc建立一個event然後ASPX頁面做接收的動作 這是我當初try出來的,參考一下! http://www.rd.idv.tw/View.aspx?ID=365
本篇文章回覆於2008-02-25 09:32
|
||||
| 4樓
最有價值解答
Allen
![]() |
在uc自訂事件,是比較好啦
您也可以試著在uc裡,將tree宣告成public,那麼在page裡就可以取用它,例如 page_load(){ ucB.tree1.OnSelectedNodeChanged +=...... //這只是示意的寫法 }
本篇文章回覆於2008-02-25 09:35
=========================================網站 : http://www.allenkuo.com/ |
||||
| 5樓
作者回應
ianan
|
謝謝兩位大大~
後來因為時間的關係所以我換了寫法, 就是直接把tree放到aspx,不用usercontrol了, try很久,今天要做完Orz,所以只好放棄QQ.. 不過之後還是會trytry看使用usercontrol的寫法, 以下是我在母頁的code,我用一個button在onclick時去呼叫classChoose(), 然後在子頁面的codebehind的TreeView1_SelectedNodeChanged事件寫如下 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { string sScript; string sTextBoxN; string sTextBoxID; //取得要輸入日期的 TextBox sTextBoxN = this.Request.QueryString["txtn"]; sTextBoxID = this.Request.QueryString["hdid"]; //將日期設給 TextBox,並將視窗關閉 sScript = "opener.window.document.getElementById('" + sTextBoxN + "').value='" + TreeView1.SelectedNode.Text + "';"; sScript += " opener.window.document.getElementById('" + sTextBoxID + "').value='" + TreeView1.SelectedNode.Value + "';"; sScript = sScript + "window.close();"; this.ClientScript.RegisterStartupScript(this.GetType(), "", sScript, true); }
本篇文章回覆於2008-02-25 23:19
|
| 回覆 |
| 如要回應,請先登入. |
|
![]() |
| 網站導覽| 網站介紹 | 會員權益 | 點數說明 | 加值服務 | 大事紀 | 廣告刊登 |常見問題 | 聯絡我們 |
捨得資訊股份有限公司 版權所有 ©copyright 2004 All Rights Reserved 艾堤數位科技股份有限公司 網站維護、經營管理 | Managed by I-Tea Technology |
|
|