2010-07-29 44 views
0

我有一個ListView,其中我有一個爲用戶創建圖像的功能。我將userGender,userImage1name,userIsImage1Aprooved值傳遞給我生成圖像的函數。 即。如果用戶已批准圖像我將其返回,否則我會返回基於性別的默認圖像。我可以從Container.DataItem中獲取數據數組嗎?

我的問題是,有沒有辦法避免傳遞3個參數到該函數,並傳遞整個DataRow,所以我可以得到我需要的列的值?

在現實中,我傳遞了大約12個參數,這對您來說很簡單。

即。我想在GetImage()中實現類似於GetNextImage(Container.Item)%>的操作,我可以訪問Item(「some_column_name」)或C#version Item [「some_column_name」]。

回答

1

你試過嗎?因爲你的代碼幾乎可以工作(應該使用Container.DataItem)。

創建一個方法GetImage(object o),它將一個字符串返回給圖像url。將該對象轉換爲DataRowView對象以獲取所需的所有值。 爲exampe:

public string GetImage(object o) 
{ 
DataRowView dataRowView = o as DataRowView; 
if (dataRowView == null) 
    return "default_image.jpg"; 

// Do your big if statement here 
if (dataRowView["column"] == "some values") 
    return "image.jpg"; 
else 
    return "default_image.jpg"; 
} 

在ASPX用途:

<%# GetImage(Container.DataItem) %> 
+0

我如何訪問這個對象,我應該把它投給什麼? – eugeneK 2010-07-29 10:11:12

+0

看我的編輯(C#) – Zenuka 2010-07-29 10:18:31

+0

謝謝我這樣做,現在我得到一個錯誤「索引1是負數或以上的行數。」 – eugeneK 2010-07-29 10:24:33

0

是的,你可以,只是把它投入類型。

+0

類型是,如果集裝箱裏面的ListView什麼? ListViewRowItem? – eugeneK 2010-07-29 10:08:49

+1

看看調試器:) – leppie 2010-07-29 10:34:41

相關問題