簡體   English   中英

將帶有按鈕的UserControl列表添加到PlaceHolder-沒有事件?

[英]Adding a list of UserControls with buttons to a PlaceHolder - no event?

我想使用帶有多個控件元素的“復雜”用戶控件。 我將在列表中重復使用相同的控件,並且已經有一個PlaceHolder控件。

我可以使用LoadControl(.ascx的路徑)添加控件-沒問題。

我也可以通過自定義屬性獲取/設置訪問嵌入的Label,因此可以完美地初始化每個控件。

但是當添加LinkBut​​tons時,我遇到了麻煩/問題。

當我單擊按鈕時,我確實得到了呈現控件的頁面的“提交”。 但是控件自己的按鈕事件似乎沒有觸發(或者至少父頁面上的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM