Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 请求删除花费的时间太长_C#_Asp.net_Gridview_Time - Fatal编程技术网

C# 请求删除花费的时间太长

C# 请求删除花费的时间太长,c#,asp.net,gridview,time,C#,Asp.net,Gridview,Time,我有一个应用程序,其中有一个页面可以在gridview中显示记录,但它有1000多条记录 现在,对于“删除”记录,我使用了TemplateField,如下所示: <asp:TemplateField ItemStyle-CssClass="DeleteItem"> <ItemTemplate> <asp:LinkButton ID="lnkDelete" runat="server" Text="Delete" CommandName="De

我有一个应用程序,其中有一个页面可以在gridview中显示记录,但它有1000多条记录

现在,对于“删除”记录,我使用了TemplateField,如下所示:

<asp:TemplateField ItemStyle-CssClass="DeleteItem">
    <ItemTemplate>
        <asp:LinkButton ID="lnkDelete" runat="server" Text="Delete" CommandName="Delete"
            CausesValidation="false" OnClientClick="return confirm('Are you sure want to Delete')">
        </asp:LinkButton>
    </ItemTemplate>
</asp:TemplateField>
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    // Here I just delete it from the database
}
但现在问题来了,当我在一个实时应用程序上单击一个删除按钮时,从数据库中删除它大约需要1分钟以上的时间

我还检查了firebug以查看请求时间。因此,它首先发出一个
Post(302)
请求,这需要花费太多的时间。这只发生在现场

有谁能告诉我为什么会这样以及解决办法吗


您可以添加用于从db中删除的代码吗?这无关紧要,因为控件到达该位置之前所花费的时间,所以仅在发布页面时所花费的时间。我唯一的建议是删除使用rowdeleding命令,使用linkbutton onclick并将primarykey作为commandargument传递,您可以从发送方对象中获取带有linkbutton click事件的commandargument。如果已使用,还可以使用rowdatabound减少。在asp.net上使用gridview的技术太旧了,请尝试使用repeater和自定义分页,因为一旦删除记录,您将为网格添加databind,这将再次绑定您的数据,需要花费时间加载1000条记录。您是否执行过任何诊断以确定时间的去向?是数据库吗?@JonSkeet在我的本地PC上当我使用同一个数据库时,它工作得很好,没有任何延迟。。因此,这里的时间仅在
Post 302
请求时使用。如果我使用linkbutton并重定向到其他页面,那么它可以正常工作。