2011-06-16 23 views
0

在一個web用戶控件web用戶控件添加項目問題

public void displayFindingSection(int sectionsid,string text,string head) 
{ 
    SectionHeading.Text = head; 
    DataSet totImgs; 
    totImgs = objGetBaseCase.GetFindingsNewerImages(sectionsid); 
    FindingViewerlist.DataSource = totImgs; 
    DataBind(); 
    SectionText.Text = text; 
} 

在其他網絡用戶控制

public void DisplayFindingsViewer(CipCaseWorkflowItem2 item) 
{ 
    FindingViewerDisplay.Visible = true; 
    ImageAndSimpleViewer.Visible = false; 
    objGetBaseCase.GetFindingsImages((Convert.ToInt32(Session["CaseId"])), item.ItemId); 
    FindingsViewerNew = objGetBaseCase.GetFindingViewerNewElementDetails(item.ItemId); 

    for (int i = 0; i < FindingsViewerNew.Count; i++) 
    { 

    FindingViwerDisplay uc = (FindingViwerDisplay)LoadControl("FindingViwerDisplay.ascx");     
FindingPlaceholder.Controls.Add(uc); 
    uc.displayFindingSection(Convert.ToInt32(FindingsViewerNew[i].Index), FindingsViewerNew[i].Text, FindingsViewerNew[i].Title); 

    } 
} 

我加入的用戶控件的所有圖像和顯示圖像,但是當我正在使用上面的代碼,Web用戶控件也添加每次和一個圖像顯示在控制我想要的是所有圖像應該只顯示在一個用戶控件 .. sectionsid是從數據庫中獲取圖像ID。我認爲,概率與循環,但我無法來解決這個問題..幫我認爲

+0

FindingViwerDisplay UC =(FindingViwerDisplay)LoadControl( 「FindingViwerDisplay.ascx」);把它放在循環之前,並檢查 – Syeda 2011-06-16 06:59:19

+0

我保留,那麼只有一個圖像顯示不是全部 – Rocky 2011-06-16 07:03:14

回答

1

可能是它正在發生u必須循環

FindingViwerDisplay uc = (FindingViwerDisplay)LoadControl("FindingViwerDisplay.ascx");     
FindingPlaceholder.Controls.Add(uc); 

在每次循環要添加UC和內部定義它調用displayFindingSection,添加1個圖像比循環返回添加一個新的控件再添加一個圖像,它會繼續下去,直到您的循環完成,因此在循環之前添加控件一次,然後在循環中調用displayFindingSection ..

這樣做,

FindingViwerDisplay uc = (FindingViwerDisplay)LoadControl("FindingViwerDisplay.ascx");     
FindingPlaceholder.Controls.Add(uc); 

//define here a dataTabel with three columns let say u have datatable dt 
for (int i = 0; i < FindingsViewerNew.Count; i++) 
{ 

dt.Rows.Add(Convert.ToInt32(FindingsViewerNew[i].Index), FindingsViewerNew[i].Text, FindingsViewerNew[i].Title); 


} 
    uc.displayFindingSection(dt); 

然後對DT在displayFindingSection摸出

很抱歉,如果我錯了......

+0

我已經做了同樣的,我已經使用相同的代碼,如果我使用的代碼,那麼我只得到一個圖像顯示在一個用戶控件,而我在表中有2,3或更多的圖像,其餘沒有顯示 – Rocky 2011-06-16 07:22:02

+1

然後傳遞數據集totImgs在參數中..添加數據集中的所有圖像元素在循環中,然後將其傳遞給displayFindingSection ..可能是發生你每次定義數據源,並綁定它只有1個圖像源..你的控制顯示你通過循環最後一個圖像???/ – Syeda 2011-06-16 07:35:36

+0

是的,它顯示最後的形象,你可以讓我的語法怎麼做..你在說什麼 – Rocky 2011-06-16 07:47:47