3

我正在 ASP.NET Web 表单中开发一个简单的留言板,并在 ListView 控制器中列出所有帖子。我的代码看起来像这样:

<ItemTemplate>
   <article class="post">
       <div class="postinfo">
           <div class="postauthor">
               Author: <strong><%# Eval("Author") %></strong>
           </div>
           <div class="postdate">
               Date: <strong><%# Eval("PostDate", "{0:D}") %></strong>
           </div>
           <div class="postvotes">
               <asp:Button class="postupvote" id='up<%# Eval("Id") %>' runat="server" />
               <asp:Label ID="postvotescount_<%# Eval("Id") %>" class="postvotescount" runat="server" Text="<%# Eval("Votes") %> votes"></asp:Label>
               <asp:Button class="postdownvote" id='down<%# Eval("Id") %>' runat="server" />
           </div>
       </div>
       <div class="postcontent"><%# Eval("Text") %></div>
   </article>
</ItemTemplate>

我的问题是投票功能。我想拥有 css id 属性,其中包含帖子的唯一数据库 id。这样我就会知道帖子的ID,它被投票给了。那么这可能吗?如果没有,我该如何实现呢?

谢谢!

4

1 回答 1

3

您可以使用 ClientIdMode 并将其设置为可预测

http://msdn.microsoft.com/en-us/library/system.web.ui.clientidmode.aspx

<asp:ListView ID="ListView1" 
              ClientIDMode="Predictable" 
              ClientIDRowSuffix="ProductID"  
              DataSourceID="XmlDataSource1" runat="server" >
<ItemTemplate>
</ItemTemplate>
</asp:ListView>

这假设您使用的是 .Net 4.0 或更高版本。

于 2012-05-30T23:46:56.940 回答