我希望我能正确地解释这一点。
我在ASP.net (3.5)中有一个包含GridView的页面。我已经实现了jquery来冻结GridView的列和头(我实现的jquery可以在这里找到:http://gridviewscroll.aspcity.idv.tw/)。
现在,令人沮丧的部分。我放在页面上的任何控件,在GridView上方都会在回发时保持视图状态。任何跟随GridView的控件在回发时都会丢失视图状态。
<asp:TextBox ID="tbx_Value1" runat="server" />
<asp:TextBox ID="tbx_Value2" runat="server" />
<asp:GridView ID="gv_Data" runat="server" />
<asp:TextBox ID="tbx_Value3" runat="server" />因此,在回发时,保留了tbx_Value1、tbx_Value2和GridView的视图状态,但丢失了tbx_ValueValue3的视图状态。设置EnableViewState="true"不会改善这种情况。
在以下javascript中调用JQuery下载:
<script type="text/javascript">
var c = 0;
c = '<%=this.col %>';
$(document).ready(function() {
gridviewScroll(c);
});
function gridviewScroll(c) {
$('#<%=gv_Data.ClientID%>').gridviewScroll({
width: 1350,
height: 330,
freezesize: c,
arrowsize: 30,
varrowtopimg: "../../../images/arrowvt.png",
varrowbottomimg: "../../../images/arrowvb.png",
harrowleftimg: "../../../images/arrowhl.png",
harrowrightimg: "../../../images/arrowhr.png",
headerrowcount: 1
});
}
</script>我对如何解决这个问题感到不知所措。我移动了我的控件,重新创建了页面,重建了应用程序。所有这些都会返回相同的结果。因此,我只能假设它与javascript (或我正在使用的jquery下载)有关。也许当它应用于页面生命周期时呢?Javascript/jquery不是我的强项,因此任何帮助都将不胜感激。
谢谢。
发布于 2017-02-11 04:51:50
我找到了这个问题的罪魁祸首。这种情况下的Gridview是基于用户输入动态创建的。我没有料到任何人会要求或需要一个非常大的GridView。然而,当他们这样做时,这个Gridview的本质就是它的本质,导致了许多控件的创建。
一旦我意识到发生了这种情况,我就更新了web.config appSettings键:"aspnet:MaxHttpCollectionKeys“到一个更大的数字,但也限制了用户请求的大小。
我通过这篇文章得出了这个解决方案:'Operation is not valid due to the current state of the object' error during postback
https://stackoverflow.com/questions/41878231
复制相似问题