我正在使用转发器进行分页,并尝试更改当前页面的颜色。我收到错误“对象引用未设置为对象的实例”。我无法调试我的代码有什么问题,很抱歉,因为我也是 asp.net 和 vb 的新手。请帮助并提前感谢您。
<div id="pages" class="pages-top">
<asp:Repeater ID="rptPages" runat="server">
<HeaderTemplate>
<div>Page </div>
</HeaderTemplate>
<ItemTemplate>
<a >
<asp:LinkButton ID="btnPage" runat="server"
CommandName="Page" CommandArgument="<%# Container.DataItem%>">
 <%# Container.DataItem%></asp:LinkButton>
</a>
</ItemTemplate>
</asp:Repeater>
</div>
Public Property PageNumber() As Integer
Get
If ViewState("PageNumber") IsNot Nothing Then
Return Convert.ToInt32(ViewState("PageNumber"))
Else
Return 0
End If
End Get
Set(ByVal value As Integer)
ViewState("PageNumber") = value
End Set
End Property
Public Sub LoadData()
Dim pgitems As New PagedDataSource()
Dim dv As New DataView(OutOfStockDt)
......
pgitems.DataSource = dv
pgitems.AllowPaging = True
pgitems.PageSize = intPageItems
pgitems.CurrentPageIndex = PageNumber
.......
rptPages.DataSource = pages
rptPages.DataBind()
........
rptOutOfStock.DataSource = pgitems
rptOutOfStock.DataBind()
End Sub
Protected Sub rptPages_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles rptPages.ItemDataBound
Dim lnkPage As LinkButton
lnkPage = e.Item.FindControl("btnPage")
--> im getting the error from the code below (if condition)
**If lnkPage.CommandArgument.ToString = PageNumber.ToString** Then
lnkPage.Enabled = False
lnkPage.ForeColor = Drawing.Color.Black
End If
End Sub