Posted this on Asp.Net, seems to be a hard problem, I still can't work it out
I have a edit button, this works fine, until I add the code that prevents the edit button from being seen by users who did not post that ticket. I cannot understand why this is happening. I get an error on the button says 'object reference not set in instance of object'
It happens when I add the following code:
Listview:
I have a edit button, this works fine, until I add the code that prevents the edit button from being seen by users who did not post that ticket. I cannot understand why this is happening. I get an error on the button says 'object reference not set in instance of object'
It happens when I add the following code:
Code:
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e) { HiddenField commentidfield = e.Item.FindControl("commentidfield") as HiddenField; HiddenField userloginfield = e.Item.FindControl("userloginfield") as HiddenField; ImageButton votebutton = e.Item.FindControl("commentvotebutton") as ImageButton; ImageButton editbutton = e.Item.FindControl("editbutton") as ImageButton; if (HttpContext.Current.User.Identity.IsAuthenticated == true) { int commentidtemp = Convert.ToInt32(commentidfield.Value); int userloginid = Convert.ToInt32(userloginfield.Value); int commentcheck = Convert.ToInt32(commentratingclass.CheckCommentVote(Profile.userid, commentidtemp).GetValueOrDefault(0)); int editcheck = Convert.ToInt32(commentclass.checkcommentbyuserid(Profile.userid, commentidtemp).GetValueOrDefault(0)); if (userloginid == Profile.userid) { votebutton.Visible = false; } else if (commentcheck > 0) { votebutton.ImageUrl = "Images/commentvoted.png"; votebutton.Enabled = false; } else { votebutton.ImageUrl = "Images/commentvote.png"; votebutton.Enabled = true; } if (editcheck == 0) { editbutton.Visible = false; } else { editbutton.Visible = true; } } else { votebutton.Visible = false; editbutton.Visible = false; } }
Code:
1 <asp:ListView ID="ListView1" runat="server" DataKeyNames="CommentID" DataSourceID="SqlDataSource1" 2 OnItemDataBound="ListView1_ItemDataBound" 3 onitemupdating="ListView1_ItemUpdating"> 4 <LayoutTemplate> 5 <table runat="server"> 6 <tr runat="server"> 7 <td runat="server"> 8 <table id="itemPlaceholderContainer" runat="server" border="0" style=""> 9 <tr id="itemPlaceholder" runat="server"> 10 </tr> 11 </table> 12 </td> 13 </tr> 14 <tr runat="server"> 15 <td runat="server" style=""> 16 <center> 17 <asp:DataPager ID="DataPager1" runat="server"> 18 <Fields> 19 <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowNextPageButton="False" 20 ShowPreviousPageButton="False" /> 21 <asp:NumericPagerField /> 22 <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" ShowNextPageButton="False" 23 ShowPreviousPageButton="False" /> 24 </Fields> 25 </asp:DataPager> 26 </center> 27 </td> 28 </tr> 29 </table> 30 </LayoutTemplate> 31 <EmptyDataTemplate> 32 <table runat="server" style=""> 33 <tr> 34 <td> 35 No Answers! Add one Now! 36 </td> 37 </tr> 38 </table> 39 </EmptyDataTemplate> 40 <EditItemTemplate> 41 <table class="comments"> 42 <tr> 43 <td class="commentsheader" rowspan="2"> 44 <asp:Label ID="UserIDLabel" runat="server" Text='<%# Eval("Login") %>' /> 45 answered: 46 <div id="details"> 47 <br /> 48 Rating: 49 <asp:Label ID="Usersratinglabel" runat="server" Text='<%# Eval("Rating") %>' /> 50 <br /> 51 Posts: 52 <asp:Label ID="Usersanswers" runat="server" Text='<%# Eval("Answers") %>' /> 53 <asp:HiddenField ID="commentidfield" runat="server" Value='<%# Eval("CommentID") %>' /> 54 <asp:HiddenField ID="userloginfield" runat="server" Value='<%# Eval("UserID") %>' /> 55 </td> 56 <td class="commentsmain"> 57 <asp:TextBox ID="updatetext" runat="server" Text='<%# Bind("Comment") %>' TextMode="MultiLine" 58 Width="500px" Height="150px" /> 59 </td> 60 </tr> 61 <tr> 62 <td class="commentfooter"> 63 <div class="commentfooter"> 64 <asp:Button ID="updatebutton" runat="server" Text="Update" CommandName="Update" /> 65 <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" /> 66 </td> 67 </tr> 68 </td> </tr> 69 </table> 70 </EditItemTemplate> 71 <ItemTemplate> 72 <table class="comments"> 73 <tr> 74 <td class="commentsheader" rowspan="2"> 75 <asp:Label ID="UserIDLabel" runat="server" Text='<%# Eval("Login") %>' /> 76 answered: 77 <div id="details"> 78 <br /> 79 Rating: 80 <asp:Label ID="Usersratinglabel" runat="server" Text='<%# Eval("Rating") %>' /> 81 <br /> 82 Posts: 83 <asp:Label ID="Usersanswers" runat="server" Text='<%# Eval("Answers") %>' /> 84 <asp:HiddenField ID="commentidfield" runat="server" Value='<%# Eval("CommentID") %>' /> 85 <asp:HiddenField ID="userloginfield" runat="server" Value='<%# Eval("UserID") %>' /> 86 </td> 87 <td class="commentsmain"> 88 <asp:Label ID="CommentLabel" runat="server" Text='<%# Eval("Comment") %>' /> 89 </td> 90 </tr> 91 <tr> 92 <td class="commentfooter"> 93 <asp:ImageButton ID="editbutton" CommandName="Edit" runat="server" ImageUrl="Images/commentedit.png" /> 94 <asp:ImageButton ID="commentvotebutton" runat="server" OnCommand="commentvote_Click" ImageUrl="Images/commentvote.png" 95 CommandArgument='<%# Eval("CommentID") %>' CommandName="commentvote" /> 96 </td> 97 </tr> 98 </td> </tr> 99 </table> 100 </ItemTemplate> 101 </asp:ListView>