PDA

View Full Version : مشکل در <%# ("Container.DataItem(" id%>



Ehsan Rafsanjani
یک شنبه 29 آبان 1384, 09:57 صبح
سلام خدمت دوستان
من برای ساختن یک ریپیتر هوشمند احتیاج دارم که کد های اون رو توی code behind اون بنویسم
برای این کار ابتدا یک TemplateBuilderتعریف کردم
که به اون مقادیر استرینگ دادم
وبعد اون رو به Template های repeter انتقال دادم (ItemTemplate، footerTemplate, headertemplate) نسبت دادم
تا اینجای کار مشکلی نبود ولی مشکا من زباز خوانی دیتا هاست یعنی وقتی مثلا <%# ("Container.DataItem(" id%> رو به ItemTemplate نسبت میدم هیچی نشون نمی ده و این درصورتی که همین کد توی html کار میکنه



Dim Tempb As New TemplateBuilder 'متغیر سازنده تمپلیت های ریپیتر


Tempb.AppendLiteralString("<a href = '<%# Container.DataItem ( ""id"")%>' >")
Tempb.AppendLiteralString("dfgdgdg<%# Container.DataItem ( ""id"")%></a>")


Repeater1.ItemTemplate = Tempb


Repeater1.DataSource = dt
Repeater1.DataBind()

Behrouz_Rad
یک شنبه 29 آبان 1384, 13:01 عصر
نیازی به TemplateBuilder ندارید!
کافی است در روال ItemDataBound کنترل Repeater، نحوه ی فرمت دهی به داده ها را مشخص کنید:


Private Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
Select Case e.Item.ItemType
Case ListItemType.Item
e.Item.Controls.Add(New LiteralControl("<b>" & e.Item.DataItem("myColumn") & "</b>"))

Case ListItemType.AlternatingItem
e.Item.Controls.Add(New LiteralControl("<a href='#'>" & e.Item.DataItem("myColumn") & "</a>"))
End Select

موفق باشید.