我知道这个问题已经得到了回答,但就我而言,似乎没有任何问题能够解决。
我在点击图片按钮时尝试获取JS Alert。以下是我的代码。
我有这样的JS函数:
<Demo:HtmlTemplates ID="HtmlTemplates1" runat="server">
<ClientScriptTemplate>
<script type="text/javascript">
function confirmDeleteNews() {
alert("Hi there");
return false;
}
</script>
</ClientScriptTemplate>
</Demo:HtmlTemplates>
这是我的转发器里面的Image按钮,它应该触发JS功能:
<asp:Repeater ID="RepeaterSystemNews" runat="server" EnableViewState="true" OnItemDataBound="RepeaterSystemNews_ItemDataBound">
<ItemTemplate>
<div class="news-item">
<div class="news-item-title">
<asp:ImageButton runat="server" ID="deleteNews" ImageUrl="~/Images/delete.png" Visible="false" OnClientClick=" confirmDeleteNews();"/>
</div>
</ItemTemplate>
</asp:Repeater>
这就是我如何绑定ImageButton以便在UI上看到它:
protected void RepeaterSystemNews_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//Access the button control
ImageButton deleteNews = (ImageButton)e.Item.FindControl("deleteNews");
User user = _IAuthService.GetCurrentUserWithRoles();
if (user != null && user.Roles.Any(x => x.RoleID == (int)AdminRole.Admin))
{
deleteNews.Visible = true;
//editNews.Visible = true;
}
}
}
所以,当我点击图像按钮时,警报永远不会显示 - 就像我的JS函数永远不会被调用一样。有没有人现在解决这个问题?感谢。
答案 0 :(得分:0)
问题是我在JS代码中调用了<Demo:HtmlTemplates ID="HtmlTemplates1" runat="server">
。一旦我删除了那部分代码,一切都运行良好。