私はメニューリストを作った。これは、2つのリピーターで構成されています。一方はproductType、もう一方はその製品タイプの内容です。 テキストボックスに必要なコンテンツの数を入力することができます。これで、テキストボックスとそのコンテンツを探したいと思っています。別のリピータの中のリピータ内のテキストボックスを見つける
これは私のASP.NETコードがどのように見えるかです:
Repeater ChildRepeater;
foreach (RepeaterItem item1 in ParentRepeater.Items)
{
if (item1.ItemType == ListItemType.Item || item1.ItemType == ListItemType.AlternatingItem)
{
ChildRepeater = (Repeater)item1.FindControl("ChildRepeater");
foreach (RepeaterItem item2 in ChildRepeater.Items)
{
if (item2.ItemType == ListItemType.Item || item2.ItemType == ListItemType.AlternatingItem)
{
TextBox txt = (TextBox)item2.FindControl(("MainContent_ParentRepeater_ChildRepeater_0_HB1_0")) as TextBox; // MainContent_ParentRepeater_ChildRepeater_0_HB
}
}
}
break;
}
まずparentrepeaterに入ると、そこにい行く:これは私がこれまでに行うことを試みたものです
<asp:Repeater ID="ParentRepeater" runat="server" OnItemDataBound="ParentRepeater_ItemDataBound">
<ItemTemplate>
<h2>
<%#DataBinder.Eval(Container.DataItem, "typenavn") %></h2>
<asp:HiddenField ID="HiddenField1" Value='<%# Eval("id") %>' runat="server" />
<asp:Repeater ID="ChildRepeater" runat="server">
<ItemTemplate>
<table>
<tr>
<td style="width: 400px">
<%#DataBinder.Eval(Container.DataItem, "productName") %>
</td>
<td style="width: 400px">
<%#DataBinder.Eval(Container.DataItem, "pris") %>
</td>
<td>
<asp:HiddenField ID="HiddenField2" runat="server" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
chilrepeaters。 しかし、それは私のテキストボックスを見つけることができません。
体型とアイデアは何ですか?あなたはRepeaterItemでのTextBoxを検索する必要が
あなたのViewStateに何を設定していますか?それは偽です。そうなら、ViewState = true;どのEventHandlerでこれをチェックしていますか..? – MethodMan
TextBox txt = item2.FindControl( "TextBox1")でTextBoxをTextBoxとして検索しようとしているようです。 - 「MainContent_ParentRepeater_ChildRepeater_0_HB1_0」がどこから届いているのかわからない – TheGeekYouNeed