2011-02-11 73 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表单代码,没有加班人员,我得到了类名等,完全正确。