הצילו repeater

ברק קרב

New member
הצילו repeater

יש לי דף שבו אני עושה רפיטר בתוך רפיטר. את הדאטהסורסים אני מייצר בcs ולא בaspx. עם הדאטה סורס הראשון אין לי בעיה, את הדאטה סורס השני אני מייצר במצב pre-render של הרפיטר הפנימי. הוא צריך להיות מיוצר כל פעם מחדש ולקבל פרמטר שהוא תוצאה של הרפיטר הראשון. אני לא מצליח להעביר בין הרפיטרים שלי נתונים. איך מעבירים ביניהם נתונים? ניסיתי עם hiddenfield, אבל אני לא מצליח להגיע לhiddenfields (או בכלל לכל דבר אחר) שנמצאים בתוך הרפיטר שב aspx.
 

pintyo

New member
אם הבנתי אותך נכון זה פשוט

לא מבין למה בחרת לייצר את ה DS השני ב pre-render, ולמה אתה בכלל צריך hiddenfields , אם הבנתי את הבעייה שלך, אתה צריך שני repeater-ים, אחד בתוך השני כאשר הDS של הפנימי מושפע מהחיצוני:
aspx file: <asp:Repeater ID="repOut" runat="server" OnItemDataBound="repOut_ItemDataBound"> <ItemTemplate> <asp:Label ID="lblOuter" runat="server"></asp:Label> <div> <asp:Repeater ID="repIn" runat="server" OnItemDataBound="repIn_ItemDataBound"> <ItemTemplate> <asp:Label ID="lblInner" runat="server"></asp:Label> </ItemTemplate> </asp:Repeater> </div> </ItemTemplate> </asp:Repeater> aspx.cs file: protected void Page_Load(object sender, EventArgs e) { List<int> intArr = new List<int>(); intArr.Add(1); intArr.Add(2); intArr.Add(3); repOut.DataSource = intArr; repOut.DataBind(); } protected void repOut_ItemDataBound(object sender, RepeaterItemEventArgs e) { Repeater repIn = e.Item.FindControl("repIn") as Repeater; List<int> innerList = new List<int>(); int dataItem = Convert.ToInt32(e.Item.DataItem); Label lblOut = e.Item.FindControl("lblOuter") as Label; lblOut.Text = dataItem.ToString(); innerList.Add(dataItem); innerList.Add(dataItem + 2); innerList.Add(dataItem + 4); repIn.DataSource = innerList; repIn.DataBind(); } protected void repIn_ItemDataBound(object sender, RepeaterItemEventArgs e) { int dataItem = Convert.ToInt32(e.Item.DataItem); Label lblIn = e.Item.FindControl("lblInner") as Label; lblIn.Text = dataItem.ToString(); }​
כפי שאתה רואה בקוד ה DS הפנימי מושפע מהחיצוני, (ברור שאפשר לעשות את מה שעשיתי יותר יעיל, עם objectDataSource ... פשוט רציתי להדגים את התלות
)
 
למעלה