2013-12-18 83 views
0

更新:列表視圖DataPager查找控件

我想要使用此代碼到DataPager,但我似乎沒有正確的語法。

Dim myDP As DataPager = TryCast(ListView1.LayoutTemplate("DataPager1", DataPager).FindControl("DataPager1"), DataPager) 

我有一個DataPager的一個ListView的內部,想讀DataPager的內文本框的值...

<asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1" PageSize="1"> 
    <Fields> 
    <asp:TemplatePagerField OnPagerCommand="TemplatePagerField_OnPagerCommand" > 
     <PagerTemplate> 
     <div> 
     <asp:LinkButton ID="FirstButton" runat="server" CommandName="First" 
       Text="<<" Enabled='<%# Container.StartRowIndex > 0 %>' /> 
     <asp:LinkButton ID="PreviousButton" runat="server" CommandName="Previous" 
       Text='<%# (Container.StartRowIndex - Container.PageSize + 1) & " - " & (Container.StartRowIndex) %>' Visible='<%# Container.StartRowIndex > 0 %>' /> 
     <asp:Label ID="CurrentPageLabel" runat="server" 
       Text='<%# (Container.StartRowIndex + 1) & "-" & (IIf(Container.StartRowIndex + Container.PageSize > Container.TotalRowCount, Container.TotalRowCount, Container.StartRowIndex + Container.PageSize)) %>' /> 
     <asp:LinkButton ID="NextButton" runat="server" CommandName="Next" 
       Text='<%# (Container.StartRowIndex + Container.PageSize + 1) & " - " & (IIf(Container.StartRowIndex + Container.PageSize*2 > Container.TotalRowCount, Container.TotalRowCount, Container.StartRowIndex + Container.PageSize*2)) %>' Visible='<%# (Container.StartRowIndex + Container.PageSize) < Container.TotalRowCount %>' /> 
     <asp:LinkButton ID="LastButton" runat="server" CommandName="Last" Text=">>" Enabled='<%# Container.TotalRowCount %>' /> 

     <table border="0" cellpadding="0" cellspacing="0" width="100%"> 
      <tr> 
      <td align="left" style="width: 25px;"> 
       &nbsp;</td> 
      <td align="center" style="width: 200px;"> 
       <asp:TextBox ID="txtSlider" runat="server" AutoPostBack="True" Text='<%# (Container.StartRowIndex + 1) %>' OnTextChanged="txtSlider_TextChanged" Width="200px"></asp:TextBox> 
       <asp:SliderExtender ID="SliderExtender1" runat="server" Orientation="Horizontal" 
        TargetControlID="txtSlider"></asp:SliderExtender> 
      </td> 
      <td align="right" style="padding-right: 25px" class="PageNumber"> 
       <asp:Label ID="lblPaging" runat="server" Text='<%# "Page " & (Container.StartRowIndex + 1) & " of " & (Container.TotalRowCount) %>'></asp:Label> 
      </td> 
      </tr> 
     </table> 
     </div> 
</PagerTemplate> 

更新:

我想讀在DataPager的TB值...

Protected Sub txtSlider_TextChanged(ByVal sender As Object, ByVal e As EventArgs) 
    Dim lv As ListView = TryCast(sender, ListView) 
    Dim pager As DataPager = TryCast(lv.FindControl("DataPage1"), DataPager) 
    Dim tb As TextBox = TryCast(pager .FindControl("slider1"), TextBox) 
    Dim CurrentPage As Integer = tb.Text 
+0

您搜索的文本框是在一個表內,給表一個id然後檢索它,並搜索它裏面的texbox – ykh

+0

該表也是DataPager裏面的同樣的問題。更新的代碼,我忽略了一行或2。 – htm11h

回答

1
pager.Controls[0].FindControl("slider1") as TextBox