VS2013 Gridview问题

时间:2014-10-27 20:28:57

标签: gridview visual-studio-2013

我在VS2013中遇到Gridview控件的问题。我有一个带有Gridview的简单页面,可以加载200条记录。我需要能够编辑First&姓氏,因此它们在TemplateFields中。当我在IE11中打开页面时,页面显示Gridview中的记录很好,但页面几乎没有响应几分钟。如果我尝试向下滚动滚动条,只需在那里停留10秒钟,然后它们会移动一点。如果页面上有其他链接,则它们不起作用,甚至关闭Web浏览器需要一段时间。我在Firefox和Chrome中尝试过这个问题并且有同样的问题,尽管不是很明显。我在VS2010中创建了完全相同的项目,并且具有完全相同代码的页面工作正常。有谁知道为什么会这样。

html代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" >
        <Columns>
            <asp:CommandField ShowEditButton="True" />
            <asp:BoundField DataField="ID" HeaderText="ID" />
            <asp:TemplateField HeaderText="First">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("FirstName") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("FirstName") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Last">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("LastName") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("LastName") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>    
</div>
</form>
</body>
</html>

代码背后:

Public Class WebForm1
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
        LoadGrid()
    End If
End Sub
Public Sub LoadGrid()

    Dim dt As DataTable
    Dim dr As DataRow

    dt = New DataTable
    dt.Columns.Add("ID", GetType(String))
    dt.Columns.Add("FirstName", GetType(String))
    dt.Columns.Add("LastName", GetType(String))

    Dim i As Integer = 0
    For i = 0 To 200
        dr = dt.NewRow
        dr(0) = i
        dr(1) = "John" & i.ToString
        dr(2) = "Doe" & i.ToString

        dt.Rows.Add(dr)
    Next

    GridView1.DataSource = dt
    GridView1.DataBind()

End Sub
End Class

1 个答案:

答案 0 :(得分:0)

我仍然没有找到这个问题的答案,但已经进一步缩小了范围。如果我有一个ID&#39;在ItemTemplate中的控件中的属性然后在首次加载时页面非常慢。如果我删除了“ID&#39;属性来自文本框和ItemTemplate中的标签,然后页面加载并正常工作。为什么会有一个&#39; ID&#39;属性导致页面在首次加载时如此慢?