2008-09-20 36 views
1

在我這樣做之前,我想我會問是否是最好的方法。每個「供應商」對象都有一個「桶」對象。在我的中繼器中,我需要顯示供應商和Bucket中的一些屬性,還有一些由FileSystem填充的與供應商鏈接的圖像。我認爲最好的方法是將中繼器與供應商對象綁定,然後在ItemDataBound上填充圖像和基於綁定到特定Items [e.Item.ItemIndex]的供應商的存儲桶。我需要用僞相關數據填充中繼器

這是最好的方式去做這件事嗎?謝謝。

回答

2

如果供應商對象只能容納一個Bucket對象,則可以將它全部綁定到單個頂級中繼器中。您可以通過簡單的數據綁定來訪問Bucket,而不必重寫ItemDataBound。

因爲你是最有可能結合的「供應商」,你可以訪問它的成員在數據綁定,如果你想要做這種方式:

<%# DataBinder.Eval (Container.DataItem, "Bucket.Property") %> 

你想,如果你必須做的ItemDataBound在綁定的每次迭代期間「處理某些東西」,並需要詳細訪問每個供應商對象以供決策。

如果供應商對象可以容納多個桶,那麼最好的方法是通過ItemDataBound訪問它。在供應商的每次迭代中,您都可以綁定一個新的嵌套中繼器來顯示存儲桶數據,或者執行您可能需要的任何重複/聚合功能。

根據您希望如何在客戶端上表現出來,您可以僅渲染供應商。當用戶點擊Vendor(或其他)時,你可以對服務器執行一次AJAX調用,以檢索Bucket數據並動態地將其顯示到你的頁面中。如果有大量供應商以及他們的存儲桶正在呈現,您可能需要嘗試該方法。這將有助於數據庫性能和頁面呈現時間,而不是將其全部構建在ASPX服務器端。 (但是這需要大量的數據,你應該在可用性/客戶端的原因之前做到這一點,然後才能考慮提高性能。)

2

這就是我通常會這樣做的,綁定在主對象上並處理ItemDataBound中的細節。

+0

如果您打算只顯示,那麼處理hte ajax調用的最佳方法是什麼?供應商,並點擊供應商時,出現桶? itemtemplate中的更新面板並在itemcommand事件中綁定嵌套的中繼器? – 2008-09-20 17:05:07