我正在使用 ASP.NET GridView 控件来显示来 self 的 SQLDataSource 的一些数据。我在浏览器中得到的最终输出如下图所示。
我希望布局与第 1 行和第 3 行中的布局完全相同。我不明白为什么行的布局交替不同。我还在此处附上我的 GridView 代码。
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="" SortExpression="BlogPostImage">
<EditItemTemplate>
<asp:Label ID="Label5" runat="server" Text="Label"></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("BlogPostImage","~/Uploads/{0}") %>' Width="50px" Height="50px"></asp:Image>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Post Details" SortExpression="BlogPostTitile">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Font-Size="15px" Text='<%# Eval("BlogPostTitile") %>'></asp:Label>
<br />
<asp:Label ID="Label2" runat="server" Font-Size="12px" Text='<%# Eval("BlogPostContent").ToString().Length > 50? (Eval("BlogPostContent") as string).Substring(0,50) + "..." : Eval("BlogPostContent") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Date" SortExpression="BlogPostCreationDate">
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Eval("BlogPostCreationDate", "{0:dd/MMM/yyyy}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Time" SortExpression="BlogPostCreationDate">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Eval("BlogPostCreationTime" )%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
如有任何帮助,我们将不胜感激。
最佳答案
<asp:TemplateField HeaderText="Date" SortExpression="BlogPostCreationDate">
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Eval("BlogPostCreationDate", "{0:dd/MMM/yyyy}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
***<asp:TemplateField HeaderText="Time" SortExpression="**BlogPostCreationTime**">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Eval("BlogPostCreationTime" )%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
您应该在“时间”标题中检查您的 sortExpression,它是 BlogPostCreationDate,它应该是 BlogPostCreationtime。检查它......
关于c# - ASP.NET 中的布局问题 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25341116/