下面是Repeater控件的ItemDataBound事件中的代码:
HtmlButton btnLike = (HtmlButton)e.Item.FindControl("LikeButton");
var itemLiked = new LikesService().GetByPostIdUserId(pollQ.PostId, new Guid(Membership.GetUser(this.Context.User.Identity.Name).ProviderUserKey.ToString()));
if (itemLiked != null)
btnLike.Attributes["class"] = "btn btn-primary btn-sm";我调试了代码,但找不到这一行抛出NullReferenceException的原因:
btnLike.Attributes["class"] = "btn btn-primary btn-sm";我在调试器中验证了对象itemLiked不是null。
下面是Repeater中HTML按钮的标记:
<button type="button" id="LikeButton" value='<%#Eval("PollQuestionID") %>' class='<%#GetCSS(Eval("PollQuestionID")) %>'>
<span class="glyphicon glyphicon-thumbs-up"></span> <%#LikeText(Eval("PollQuestionID")) %>
</button>发布于 2015-07-25 18:39:44
FindControl方法只能找到具有runat="server"属性的服务器控件。将此属性添加到<button>中
<button runat="server" type="button" id="LikeButton" ...https://stackoverflow.com/questions/31629709
复制相似问题