2015-06-04 3 views
0

Я столкнулся с проблемой. У меня есть изображение, содержащее ретранслятор. То, что я хочу сделать, - это когда отображается последнее изображение, сайт должен быть перенаправлен, но я не знаю, как получить текущее поле, которое отображается. Я думал, что могу сделать переменную, содержащую текущий идентификатор, и сравнивать ее каждый раз, когда отображается новое изображение. И если идентификатор новых изображений ниже, чем в другой переменной, он должен перенаправляться.Получение идентификатора поля повторителя в asp.net

На данный момент у меня действительно нет кода для публикации, потому что я действительно не знаю, как это решить. Надеюсь, некоторые из вас помогут.

Это код для ретранслятора на HTML сайте

<div id="imgBack" runat="server" class="row" style="background-color: black;"> 
     <div class="col-lg-12"> 
      <div class="container"> 
       <div class="fotorama" data-arrows="false" data-maxheight="750" data-allowfullscreen="native" data-loop="false" data-ratio="1024/750" data-nav="false" data-autoplay="5000" data-click="false" data-swipe="false" data-stopautoplayontouch="false" data-transition="crossfade" data-shuffle="true" data-fit="contain"> 
        <asp:Repeater ID="repImgs" runat="server" OnItemDataBound="repImgs_ItemDataBound"> 
         <ItemTemplate> 
          <asp:Image ID="imgs" ImageUrl='<%# string.Format("~/Images/{0}", Eval("FileName")) %>' runat="server" /> 
         </ItemTemplate> 
        </asp:Repeater> 
       </div> 
      </div> 
     </div> 
    </div> 

И вот что я получил на заднем конце до сих пор

protected void repImgs_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     if (e.Item.ItemIndex == repImgs.Items.Count - 1) 
     { 
      Response.Redirect("FinishedSession.aspx"); 
     } 
    } 
} 
+0

По какой-то причине repImgs.Items является 0, но когда я отладки, и парят над repImgs я могу видеть т Он обнаруживает два элемента, которые находятся на сеансе. –

ответ

0

Чтобы получить последний элемент в ретранслятора вы можно использовать ItemDataBound

protected void MyRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     if (e.Item.ItemIndex == MyRepeater.Items.Count - 1) 
     { 
      // Do something 
     } 
    } 
} 
+0

Похоже, что это может сработать, единственная проблема теперь в том, что она более новая получает внутри вложенного оператора if по какой-то причине –

+0

Можете ли вы разместить свой код, пожалуйста, – Izzy

+0

извините за поздний ответ. Я разместил код для ретранслятора на сайте html и код на сервере –