【问题标题】:List View DataPager finding controls within列表视图 DataPager 在其中查找控件
【发布时间】:2013-12-18 17:33:10
【问题描述】:

更新:

我正在尝试使用此代码访问 DataPager,但我似乎没有正确的语法。

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

我在 ListView 中有一个 DataPager,想读取 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

【问题讨论】:

  • 您要搜索的文本框在一个表格内,给表格一个 id 然后检索它,然后搜索其中的 texbox
  • 表格也在DataPager里面,同样的问题。更新的代码,我遗漏了一行或两行。

标签: asp.net vb.net listview datapager


【解决方案1】:
pager.Controls[0].FindControl("slider1") as TextBox

【讨论】:

    猜你喜欢
    • 2011-11-12
    • 1970-01-01
    • 2012-05-03
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    相关资源
    最近更新 更多