2011-02-11 68 views
0

是否有可能抓住從中繼器的物品特性,例如ASP.net中繼單個細胞

昏暗測試作爲字符串= myRepeater.Items(指數).DataItem(2)

其中myRepeater具有單元數據x行和10列,並綁定從數據表

似乎應該是微不足道的,但看起來像單個單元格不能訪問。請澄清一下。

回答

1

不是直接的 - 記住,中繼器是非常非常簡單的web控制器,中繼器本身對它下面的內容確實有限制。

但是你可以很容易地得到內的物品。最好的方法是在項目中使用控件來幫助您找到內容。 EG,鑑於此中繼「行」:

<ItemTemplate> 
    <asp:Button runat="server" ID="theButton" text="Click Me!" OnClick="doIt" /> <asp:TextBox id="theTextBox" value="Whateeavs" /> 
</ItemTemplate> 

您可以使用該按鈕的點擊處理程序來找到該行中的其他項目:

protected void doIt(object s, EventArgs e) { 
    var c = (Control)s; 
    var tbRef = c.NamingContainer.FindControl("theTextBox"); 
    var tb = (ITextControl)tbRef; 
    doSomethingWith(tb.Text); 
} 

比找到使用絕對定位行的東西通常更清潔 - - 你不必擔心索引等。

PS:它已經是long因爲我制定了重要的Web表單代碼,沒有加班人員,我得到了類名等,完全正確。