I have a list view that loads with the page, but i want to hide a button with a condition.
I get this error message Object reference not set to an instance of an object.
Even thought the commandName has a value.The code is under the listview databound.
This my code:
protected void PostListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item == null)
return;
MembershipUser currentUser = Membership.GetUser();
Guid currentUserId = (Guid)currentUser.ProviderUserKey;
Button btn1 = (Button)e.Item.FindControl("deleteButton");
if (currentUserId.ToString() == btn1.CommandName.ToString())
{
Button hdn = (Button)e.Item.FindControl("deleteButton");
btn1.Visible = false;
}
else
{
Button hdn = (Button)e.Item.FindControl("deleteButton");
btn1.Visible = false;
}
}
<asp:ListView ID="PostListView" runat="server" DataSourceID="POSTDataSource2" OnItemDataBound="PostListView_ItemDataBound" OnLoad="PostListView_Load">
<AlternatingItemTemplate>
<p class="text-muted">
<asp:Button ID="deleteButton" runat="server" Text="Delete" CssClass="btn btn-info btn-xs pull-right" Width="50px" CommandName='<%# Eval("UserId") %>' />
</p>
</AlternatingItemTemplate>