ASP.net简单设计问题
本文关键字:问题 简单 net ASP | 更新日期: 2023-09-27 17:53:07
我有一个中继器:
<div class="vote-wrapper">
<asp:hyperlink runat="server" CssClass="s dislike-button" ID="CommentVoteDown" />
<div class="vote-total-bad">
23
</div>
<asp:hyperlink runat="server" CssClass="s like-button" ID="CommentVoteUp" />
<div class="clear"></div>
</div>
这是重复的(很明显!)由于我的项目设置,我已经使它没有生成唯一的ID,并管理它自己,这样做的原因是,它使调用引用到外部JS文件中的DOM元素容易得多。
ID是重复的,都是CommentVoteDown
和CommentVoteUp
。我想做的是让它们读起来像:
CommentVoteUp124
CommentVoteDown124
后面的数字表示与之关联的注释的ID。
我试着做:
UV.Attributes["ID"] += ThisComment.ID;
和
UV.Attributes.Add("ID", "CommentVoteUp" + ThisComment.ID);
但是这些只是向HTML元素添加第二个键。我如何命名它们以便在Jquery中引用它们?
你就不能像
<asp:hyperlink runat="server" CssClass="s dislike-button"
ID='<%# "CommentVoteDown" + Eval("ID") %>' />
不行吗?
UV.ID += ThisComment.ID;
除非你正在做回发,否则你不必使用asp.net服务器控件,最好使用干净简单的html:
<% Comment comment = Container.DataItem as Comment %>
<div class="vote-wrapper">
<a class="s dislike-button" ID="CommentVoteDown<%=comment.ID %>" />
<div class="vote-total-bad">
23
</div>
<a class="s like-button" ID="CommentVoteUp<%=comment.ID %>" />
<div class="clear"></div>
</div>
只是使用类,并找到id的包装容器与jQuery
<% Comment comment = Container.DataItem as Comment %>
<div id="CommentVoteUp<%=comment.ID %>" class="vote-wrapper">
<a class="s dislike-button" />
<div class="vote-total-bad">
23
</div>
<a class="s like-button" />
<div class="clear"></div>
</div>
,然后使用jQuery,你可以找到从投票的范围内的id/down <a>
标签使用这个:
$(".like-button").click(function(){
var id = $(this).closest(".vote-wrapper").attr("id");
});
$(".dislike-button").click(function(){
var id = $(this).closest(".vote-wrapper").attr("id");
});
您可以尝试将其添加到元素的classclass上吗?这可能会使它更容易。
CommentVoteUp。Attributes["class"] = "[在这里添加你的类名]";