2011-03-31 59 views
0

我有一個GridView,當點擊編輯按鈕時,該行的細節顯示使用detailsview。DetailsView中的FindControl不起作用?

顯示時,我需要在detailsView中找到一個控件,然後將它與數據源綁定。

首先我不確定要使用的事件,但已使用DetailsView1_DataBound。但是,如果我必須找到使用的控件,請使用

var control=(ControlType)DetailsView1.Findcontrol("ID"); 

總是返回空值。可能是我沒有使用正確的事件,並且在那一點上找不到控制權。任何想要使用的事件,請選擇正確的代碼?

感謝

+0

顯示您的詳細視圖設計器代碼。 – 2011-03-31 11:20:15

+0

顯示你的aspx和代碼 – 2011-03-31 11:31:45

+0

後面的代碼其相當大,你想要看到哪一部分 – pinki 2011-03-31 11:38:02

回答

3

在你databound event,你需要照顧你DetailsView Mode

if (DetailsView1.CurrentMode == DetailsViewMode.Edit) 
    { 
     //Put here if you want to find control of your Edit Mode 
     var control=(ControlType)DetailsView1.Findcontrol("EditTemplateControlID"); 
    } 

if (DetailsView1.CurrentMode == DetailsViewMode.Insert) 
    { 
     //Put here if you want to find control of your Insert Mode 
     var control=(ControlType)DetailsView1.Findcontrol("InsertTemplateControlID"); 
    } 
+0

Akthar。,謝謝是的,我試了一下,發現控件綁定了它,我可以跟你討論一下,網站已經完成了,我只是添加了一個新功能,所以他們所做的是一個gridview,但他們dint指定gridview的命令按鈕,他們採取了linkbuttons(編輯和刪除)。然後在點擊事件中,他們顯示了細節視圖。,'我在這個細節視圖中添加了一個gridview'使用你的解決方案,我可以綁定它,但看不到data.why ????? – pinki 2011-03-31 13:13:39

+0

你可以發佈新的問題;詳細解釋您的問題並將您的代碼放在後面並形成設計;我一定會幫你:) – 2011-03-31 13:44:54

+0

@ manasareddy.kundur;如果解決方案幫助你;不要忘記標記爲答案的最佳答案。謝謝 – 2011-04-01 11:05:56

0

我有同樣的問題,穆罕默德阿赫塔爾的回答對我沒有幫助。將DetailsView的默認模式從「編輯」更改爲「插入」後,問題就解決了。

我也推薦使用ItemCreated事件而不是DataBound事件。我經常使用它在DetailsView的字段中設置默認值。

相關問題