首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Repeater中设置HtmlButton属性抛出NullReferenceException

在Repeater中设置HtmlButton属性抛出NullReferenceException
EN

Stack Overflow用户
提问于 2015-07-25 18:21:34
回答 1查看 63关注 0票数 0

下面是Repeater控件的ItemDataBound事件中的代码:

代码语言:javascript
复制
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的原因:

代码语言:javascript
复制
btnLike.Attributes["class"] = "btn btn-primary btn-sm";

我在调试器中验证了对象itemLiked不是null。

下面是Repeater中HTML按钮的标记:

代码语言:javascript
复制
<button type="button" id="LikeButton" value='<%#Eval("PollQuestionID") %>' class='<%#GetCSS(Eval("PollQuestionID")) %>'>
    <span class="glyphicon glyphicon-thumbs-up"></span> <%#LikeText(Eval("PollQuestionID")) %>
</button>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-25 18:39:44

FindControl方法只能找到具有runat="server"属性的服务器控件。将此属性添加到<button>

代码语言:javascript
复制
<button runat="server" type="button" id="LikeButton" ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31629709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档