2010-10-10 115 views
3

你好,我在我的网站上有这个论坛页面。我希望用户发表评论时,旧评论应该位于底部,最新的评论位于顶部。请有人可以帮我吗?造成这种情况的代码如下:在网页上的评论论坛

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>" 
     DeleteCommand="DELETE FROM [forum] WHERE [Postingid] = @Postingid" 
     InsertCommand="INSERT INTO [forum] ([UserName], [TheDateTime], [Subject], [Message]) VALUES (@UserName, @TheDateTime, @Subject, @Message)" 
     SelectCommand="SELECT * FROM [forum] " 
     UpdateCommand="UPDATE [forum] SET [UserName] = @UserName, [TheDateTime] = @TheDateTime, [Subject] = @Subject, [Message] = @Message WHERE [Postingid] = @Postingid"> 
     <DeleteParameters> 
      <asp:Parameter Name="Postingid" Type="Int32" /> 
     </DeleteParameters> 
     <InsertParameters> 
      <asp:Parameter Name="UserName" Type="String" /> 
      <asp:Parameter Name="TheDateTime" Type="String" /> 
      <asp:Parameter Name="Subject" Type="String" /> 
      <asp:Parameter Name="Message" Type="String" /> 
     </InsertParameters> 
     <UpdateParameters> 
      <asp:Parameter Name="UserName" Type="String" /> 
      <asp:Parameter Name="TheDateTime" Type="String" /> 
      <asp:Parameter Name="Subject" Type="String" /> 
      <asp:Parameter Name="Message" Type="String" /> 
      <asp:Parameter Name="Postingid" Type="Int32" /> 
     </UpdateParameters> 
    </asp:SqlDataSource> 

</div> 
<center> 
<font color="gray" size="+2">Daily Christian News and Discussion Area</font><br /> 

<hr style=" border-bottom:1px dotted silver;" /> 

<font color="brown" size="+1">Old Posting(Messages)</font><br /> 

<asp:ListView ID="ListView1" runat="server" 
    DataSourceID="SqlDataSource1"> 
    <LayoutTemplate> 
    <div id="ItemPlaceHolderContainer" runat="server"> 
    <span id="ItemPlaceHolder" runat="server"></span> 
    </div> 
    </LayoutTemplate> 


    <ItemTemplate> 
    <div class="news"> 
    <span style="font-style:italic; color:#008000">Posted By <%# Eval("UserName")%> On <%# Eval("TheDateTime")%></span><br /> 
    <strong><font color="orange" size="+1">Subject: </font><%# Eval("Subject")%></strong><br /> 
    <p> <%# Eval("Message")%></p> 
    </div> 
    </ItemTemplate> 
    <AlternatingItemTemplate> 
    <div class="newsAlternate"> 
    <span style="font-style:italic; color:#008000">Posted By <%# Eval("UserName")%> On <%# Eval("TheDateTime")%></span><br /> 
    <strong><font color="orange" size="+1">Subject:</font> <%# Eval("Subject")%></strong><br /> 
    <p> <%# Eval("Message")%></p> 
    </div> 
    </AlternatingItemTemplate> 
</asp:ListView> 
<br /> 
<table> 

<tr> 
<td><font color="brown" size="+1">New Posting(Messages)</font><br /><hr style=" border-bottom:1px dotted silver;" /></td> 
</tr> 

<tr> 
<td> Subject:</td> 
<td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td> 
</tr> 
<tr> 
<td>Message:</td> 
<td><asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine"></asp:TextBox></td> 
</tr> 
<tr> 
<td></td> 
<td><asp:Button ID="Button1" runat="server" Text="Post" /></td> 
</tr> 
</table> 
</center> 
+1

有什么问题? – 2010-10-10 22:14:24

+0

由于某种原因,它仍然处于最底层。我希望最近的消息由于某种原因处于顶端,旧的消息处于底部 – onfire4JesusCollins 2010-10-10 22:28:10

回答

2

添加ORDER BY子句您SelectCommand,例如

SELECT * FROM [forum] ORDER BY TheDateTime DESC 

SELECT * FROM [forum] ORDER BY Postingid DESC 
+0

,它仍处于底部。我希望最近的消息在顶部 – onfire4JesusCollins 2010-10-10 22:28:35

+0

'TheDateTime'填写是否正确?你应该改变它的数据类型为'datetime'或者一些类似的数据类型;否则,排序是词法和'2010年10月01日'<'2010年9月14日'... – Heinzi 2010-10-10 22:45:25

+0

非常感谢你的帮助。我确实在数据类型上犯了一个错误。而不是我使用的日期时间(nvarchar)。再一次非常感谢你的言语无法表达出来。 – onfire4JesusCollins 2010-10-11 00:27:43