Я создаю график, график времени есть бар работает до центра экрана, первый пост на левой стороне, второй справа и т.д. и т.п.ASP.NET WebForms Runat вызова сервер не работает, когда я добавить повторитель
при статическом тексте можно использовать следующий вызов, чтобы выяснить, какой блок CSS использовать:
<li id ="li_left" runat ="server" >
<div class="timeline-datetime">
<span class="timeline-time">8:19
</span><span class="timeline-date">Today</span>
</div>
<div class="timeline-badge blue">
<i class="fa fa-tag"></i>
</div>
<div class="timeline-panel">
<div class="timeline-header bordered-bottom bordered-blue">
<span class="timeline-title">New Items Arrived
</span>
<p class="timeline-datetime">
<small class="text-muted">
<i class="glyphicon glyphicon-time"></i>
<span class="timeline-date">Today</span>
-
<span class="timeline-time">8:19</span>
</small>
</p>
</div>
<div class="timeline-body">
<p>My Post Message</p>
</div>
</div>
</li>
Тогда в моем коде позади Я использую это:
Private Sub li_left_Load(sender As Object, e As EventArgs) Handles li_left.Load
If IsEven(postCount) = True Then
li_left.Style.Add("display", "visible")
postCount += 1
Else
li_left.Style.Add("display", "none")
End If
End Sub
Полный передний код:
<ul class="timeline">
<li class="timeline-node">
<a class="btn btn-palegreen">NOW</a>
</li>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<li id ="li_left" runat ="server" >
<div class="timeline-datetime">
<span class="timeline-time">8:19
</span><span class="timeline-date">Today</span>
</div>
<div class="timeline-badge blue">
<i class="fa fa-tag"></i>
</div>
<div class="timeline-panel">
<div class="timeline-header bordered-bottom bordered-blue">
<span class="timeline-title">New Items Arrived
</span>
<p class="timeline-datetime">
<small class="text-muted">
<i class="glyphicon glyphicon-time"></i>
<span class="timeline-date">Today</span>
-
<span class="timeline-time">8:19</span>
</small>
</p>
</div>
<div class="timeline-body">
<p>My Left Post Message</p>
</div>
</div>
</li>
<li class="timeline-inverted" id="li_right" runat ="server" >
<div class="timeline-datetime">
<span class="timeline-time">3:10
</span><span class="timeline-date">Today</span>
</div>
<div class="timeline-badge darkorange">
<i class="fa fa-map-marker font-120"></i>
</div>
<div class="timeline-panel bordered-right-3 bordered-orange">
<div class="timeline-header bordered-bottom bordered-blue">
<span class="timeline-title">Visit Appointment
</span>
<p class="timeline-datetime">
<small class="text-muted">
<i class="glyphicon glyphicon-time"></i>
<span class="timeline-date">Today</span>
-
<span class="timeline-time">3:10</span>
</small>
</p>
</div>
<div class="timeline-body">
<p>My Right Post Message</p>
<p>
<i class="orange fa fa-exclamation"></i>New task added for <span><a href="#" class="info">James Dean</a></span>
</p>
</div>
</div>
</li>
<li class="timeline-node">
<a class="btn btn-yellow">YESTERDAY</a>
</li>
<li class="timeline-node">
<a class="btn btn-info">11 DECEMBER</a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
И код позади, чтобы контролировать, какой CSS черного использовать:
Dim postCount As Integer = 0
Private Sub li_left_Load(sender As Object, e As EventArgs) Handles li_left.Load
If IsEven(postCount) = True Then
li_left.Style.Add("display", "visible")
postCount += 1
Else
li_left.Style.Add("display", "none")
End If
End Sub
Private Sub li_right_Load(sender As Object, e As EventArgs) Handles li_right.Load
If IsEven(postCount) = True Then
li_right.Style.Add("display", "none")
Else
li_right.Style.Add("display", "visible")
postCount += 1
End If
End Sub
Noe второй добавить ретранслятор во всем перерывах, и я не понимаю, почему.
код с ретранслятором добавил:
<ul class="timeline">
<li class="timeline-node">
<a class="btn btn-palegreen">NOW</a>
</li>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<li id ="li_left" runat ="server" >
<div class="timeline-datetime">
<span class="timeline-time">8:19
</span><span class="timeline-date">Today</span>
</div>
<div class="timeline-badge blue">
<i class="fa fa-tag"></i>
</div>
<div class="timeline-panel">
<div class="timeline-header bordered-bottom bordered-blue">
<span class="timeline-title">New Items Arrived
</span>
<p class="timeline-datetime">
<small class="text-muted">
<i class="glyphicon glyphicon-time"></i>
<span class="timeline-date">Today</span>
-
<span class="timeline-time">8:19</span>
</small>
</p>
</div>
<div class="timeline-body">
<p><%# DataBinder.Eval(Container.DataItem, "message") %></p>
</div>
</div>
</li>
<li class="timeline-inverted" id="li_right" runat ="server" >
<div class="timeline-datetime">
<span class="timeline-time">3:10
</span><span class="timeline-date">Today</span>
</div>
<div class="timeline-badge darkorange">
<i class="fa fa-map-marker font-120"></i>
</div>
<div class="timeline-panel bordered-right-3 bordered-orange">
<div class="timeline-header bordered-bottom bordered-blue">
<span class="timeline-title">Visit Appointment
</span>
<p class="timeline-datetime">
<small class="text-muted">
<i class="glyphicon glyphicon-time"></i>
<span class="timeline-date">Today</span>
-
<span class="timeline-time">3:10</span>
</small>
</p>
</div>
<div class="timeline-body">
<p><%# DataBinder.Eval(Container.DataItem, "message") %></p>
<p>
<i class="orange fa fa-exclamation"></i>New task added for <span><a href="#" class="info">James Dean</a></span>
</p>
</div>
</div>
</li>
<li class="timeline-node">
<a class="btn btn-yellow">YESTERDAY</a>
</li>
<li class="timeline-node">
<a class="btn btn-info">11 DECEMBER</a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
Первая ошибка, я получаю ручки положение требует переменной WithEvents, определенное в содержащем типа или один из его базового типа.
Если я открываю .aspx.designer, я замечаю, что мои withevents для li_left и li_right были удалены, если я вручную добавлю их обратно в сообщения об ошибках, но код не вызывается, когда я запускаю.
Любая помощь была бы принята с благодарностью.
редактировать показать работая ответа
Добавить это и фиксируется все:
Ok figured it out. I needed to process the logic in the repeater1.ItemBound
Private Sub Repeater1_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
Dim li_left = TryCast(e.Item.FindControl("li_left"), HtmlGenericControl)
If IsEven(postCount) = True Then
li_left.Style.Add("display", "visible")
Else
li_left.Style.Add("display", "none")
End If
Dim li_right = TryCast(e.Item.FindControl("li_right"), HtmlGenericControl)
If IsEven(postCount) = True Then
li_right.Style.Add("display", "none")
Else
li_right.Style.Add("display", "visible")
End If
postCount += 1
End Sub
Спасибо ... понял, должен был поразить обновление браузера и увидел, что ваше сообщение было 20 минут назад ... –