【问题标题】:Layout Issue GridView in ASP.NETASP.NET 中的布局问题 GridView
【发布时间】:2014-08-16 14:29:51
【问题描述】:

我正在使用 ASP.NET GridView 控件来显示来自我的 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>

任何帮助将不胜感激。

【问题讨论】:

  • 您的某些记录中似乎缺少 BlogPostCreationDate...
  • “BlogPostContent”是否包含无效的 HTML?
  • 您检查数据源了吗?似乎值与网格中的列不对应

标签: c# asp.net sql-server-2008 visual-studio-2012 gridview


【解决方案1】:
<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。检查它......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2019-06-10
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多