ASP.NET GridView inside repeater: 滚动页面时在行之间随机出现网格线 disappear/reappear

ASP.NET GridView inside repeater: gridlines disappear/reappear at random between rows when scolling through page

我认为我的标题解释了我遇到的问题。我的问题的屏幕截图以获得更多说明: Gridlines not showing when I'm scolled to the top of my page

Gridlines showing when I'm scolled to the bottom of my page

相关代码,.aspx文件:

<asp:Repeater ID="rep" runat="server" OnItemDataBound="rep_ItemDataBound">

     <ItemTemplate> 

     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            EnableModelValidation="True"
         Position=relative OnRowCommand="GridView1_RowCommand" 
        AllowPaging="false"   ShowFooter="false" 
         OnSelectedIndexChanged="GridView1_SelectedIndexChanged" 
         OnRowCreated="GridView1_RowCreated" OnRowDataBound="GridView1_RowDataBound"
        Width="90%">   

            <Columns>
              //a few TemplateFields with ItemTemplates inside of them, 
and some DataBinder to display the information.
              //I'm not doing anything with the border inside the TemplateFields.
            </Columns>   

    </asp:GridView> 
    </ItemTemplate>  

</asp:Repeater>

我在.aspx.cs文件中的相关代码:

protected void rep_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
            foreach(Control c in e.Item.Controls)
            {
                if(c as Label != null)
                {
                    GetIoTName(varv);
                    (c as Label).Text = "<br>" + GetIoTName(varv) + "</br>";
                }
                if (c as GridView != null)
                {
                    (c as GridView).DataSource = AllConnectedDevices[varv];
                    (c as GridView).DataBind();
                }
            }
}

数据绑定正常工作,在 gridview 中显示所有内容。

这是我在 .aspx 文件中的 Gridview 中尝试过的内容:

GridLines="Both"

没有解决我的问题。 还在我的 GridView 中尝试了以下操作:

CellPadding="4" CellSpacing="1" BackColor="White" RowStyle-BackColor="white" BorderStyle="Double" GridLines="Both"

运气不好。 在函数 "rep_ItemDataBound()" 函数中的 .aspx.cs 文件中,我尝试设置网格线以测试它是否有效:

//c is my control for the GridViev. This atleast changes the color for the GridView
GridView g = c as GridView;
g.Attributes["style"] = "border-color: #c3cecc";

没有解决我的问题。 我还尝试为每个 cell/row:

设置边框
foreach (GridViewRow tr in g.Rows)
{

    foreach (TableCell tc2 in tr.Cells)
    {
        tc2.Attributes["style"] = "border-color: #c3cecc";
    }
}

没有解决我的问题。我已经搜索了很多,看看是否有解决我的问题的方法,但我找不到与我的问题相关的任何内容。

编辑:澄清一下,我没有在我的代码中的任何其他地方触及 GridView/Repeater,只是在我发布的代码中。好吧,除了为中继器设置数据源和数据绑定。

嗯,这很尴尬...

显然我一定是很久以前不小心将我的网页缩小了一点(CTRL + 鼠标滚轮向下)。由于某种原因,缩小会导致网格线显示不正确。事实上,当在页面上缩放 in/out 时它们不会正确显示,这对我来说不是问题。不敢相信我花了将近七个小时才弄明白。