[英]Adding a list of UserControls with buttons to a PlaceHolder - no event?
我想使用帶有多個控件元素的“復雜”用戶控件。 我將在列表中重復使用相同的控件,並且已經有一個PlaceHolder控件。
我可以使用LoadControl(.ascx的路徑)添加控件-沒問題。
我也可以通過自定義屬性獲取/設置訪問嵌入的Label,因此可以完美地初始化每個控件。
但是當添加LinkButtons時,我遇到了麻煩/問題。
當我單擊按鈕時,我確實得到了呈現控件的頁面的“提交”。 但是控件自己的按鈕事件似乎沒有觸發(或者至少父頁面上的PageLoad似乎首先觸發了?)-我無法弄清楚事件的去向或為此尋找名稱/ ID或參數的地方按鈕。
我怎么會來或者我在做什么錯?
現在,我通過在URL中使用帶有ID的帶有“硬編碼A HREF”的標簽來制作一個“假按鈕”,但是我想了解我需要捕獲什么事件以及在何處或如何初始化該按鈕,因為我希望能夠對這些用戶控件使用“默認的ASP.NET”控件(希望沒有太多的拼湊代碼)...
事件“丟失”的唯一原因是因為沒有以ASP.Net可以在回發后將事件與控件關聯的方式重新創建控件。 它是通過使用ID屬性來實現的。
換句話說,您做錯了三件事之一:
1)在回發后的Init創建階段,您為鏈接按鈕的ID分配的方式有所不同
2)您正在使用代碼動態創建鏈接按鈕,但是您是在頁面生命周期的Init階段之后執行此操作的,因此您的控件不會參與ViewState。
3)您將重新綁定每個回發中包含鏈接按鈕的父控件的數據源。 使用if (!IsPostBack)
防止每次都重新綁定它。
不幸的是,沒有看到您的代碼,我無法提供更具體的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.