标签: viewstate

视图状态错误无效

关于ScriptResource.axd,我收到了一个无效的viewstate错误.只是想知道你是否有人可以帮助我.错误是:

2009-02-24 09:46:30,021 [13] DEBUG ASP.global_asax [(null)] - Request start - URL: /Web/ScriptResource.axd?d=E9hlvtsn8Gr1MyjysW1gFDFYr4CVwstY-sC22tRu5V8d7UyEYz3FhVYGrlhY87n2ihgKh58RrMRhK-Yk2WcQahEaCg_asTInqHK
2009-02-24 09:46:30,021 [13] DEBUG ASP.global_asax [(null)] - Application_AuthenticateRequest started
2009-02-24 09:46:30,021 [13] ERROR ASP.global_asax [(null)] - Unexpected error.  User presented with Site Error page.
System.Web.HttpException: Invalid viewstate.
   at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType)
   at System.Web.UI.Page.DecryptString(String s)
   at System.Web.Handlers.ScriptResourceHandler.DecryptParameter(NameValueCollection queryString)
   at System.Web.Handlers.ScriptResourceHandler.ProcessRequestInternal(HttpResponse response, NameValueCollection queryString, VirtualFileReader fileReader)
   at System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContext context)
   at System.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

这发生在生产环境中.我无法在开发和测试环境中重现这一点.这些页面也只能由经过身份验证的用户访问.如果你能对这个问题有所了解,那将是真的.

viewstate scriptresource.axd

18
推荐指数
2
解决办法
9663
查看次数

如何在JSF中减少javax.faces.ViewState

减少JSF中viewstate隐藏字段大小的最佳方法是什么?我注意到我的视图状态大约是40k,这会下降到客户端并在每次请求时回到服务器,并且响应通常会发送到服务器,这对用户来说是一个显着的减速.

我的环境JSF 1.2,MyFaces,Tomcat,Tomahawk,RichFaces

java viewstate optimization jsf bandwidth

17
推荐指数
2
解决办法
2万
查看次数

ASP.NET MVC和ViewState

现在我已经看到了这样的一些问题,但这并不是我想要问的问题,所以对于所有那些尖叫的复制品,我道歉:).

我几乎没有碰过ASP.NET MVC,但据我所知,没有ViewState/ControlState ......很好.所以我的问题是保留控件状态的替代方法是什么?我们是否可以回到旧学校ASP,在那里我们可以通过创建具有控件状态的隐藏表单输入来模拟ASP.NET ViewState/ControlState所做的事情,或者使用MVC,我们只是假设AJAX始终并保留所有状态客户端并制作AJAX要求更新?

这个问题有一些答案,在Asp.net mvc维护viewstate?,但不完全是我在答案中寻找的东西.

更新:感谢目前为止的所有答案.只是为了清理我不想要的东西和我正在寻找的东西:

不寻找:

  • 会话解决方案
  • Cookie解决方案
  • 不想在MVC中模仿WebForms

我在/正在寻找什么:

  • 如果数据没有反弹到控件,则仅在回发时保留状态的方法.认为WebForms的方案是仅在初始页面加载时绑定网格,即仅在必要时重新绑定数据.正如我所提到的,我并不是想模仿WebForms,只是想知道MVC提供了什么机制.

viewstate ajax asp.net-mvc asp.net-mvc-2

17
推荐指数
1
解决办法
1万
查看次数

最小化视图状态 - 在asp.net 4.0中由"EnableViewState"和"ViewStateMode"混淆

我正在尝试清理一个在任何地方都启用了ViewState的旧的ASP.NET WebForms站点.这是一个性能问题 - 巨大的观点导致明显的提交延迟.但是除了一些复杂的控件和表单数据之外,大多数表单似乎都不需要ViewState.即使是没有输入控件的表单,也会生成大型视图状态,因为我猜asp.net存储了关于每个服务器控件的各种元数据.但是可见性状态等都是在代码中控制的,所以我认为我可以消除很多.

添加EnableViewState="false"到不需要它的每个控件(在页面中并在代码中创建)是非常繁重的,所以我试图在页面/控件级别禁用它,并选择性地为需要它的东西启用它.(是的,我意识到这是有风险的,但实际上只有几个大的形式和几个模板,如果解决会产生很大的不同).

这是我没有得到的.

如果控件或页面具有EnableViewState="false"<%.. %>描述符,或者在其父页面中创建它的标记中,则一切都会中断,因为在代码中添加的任何ViewState数据都不起作用.所以我似乎能够在控件级别启用它,但是EnableViewState对于每个容器中的包装器控件设置为false,然后ViewStateMode=true在每个控件级别设置(以此为止).

我没有得到的是以下情况:

ViewStateMode = ViewStateMode.Enabled以及 EnableViewState = false包含其他控件的控件.

控制.内部控件是否仍可启用ViewStateMode?基本上,哪个设置在冲突时有最终结论?

对于每个容器,我希望能够在包装器控件中禁用所有内容,但仍然确保:

1)代码工作中的ViewState设置,和

2)默认情况下,对所有控件禁用ViewState,和

3)我可以选择性地启用ViewState以进行子控制.

这似乎令人困惑.如果我在母版页中设置了一个包装器控件EnableViewState="false",但随后设置了一个子控件ViewStateMode="Enabled",它就会中断.根据MS,ViewStateMode应该取代任何外部ViewState设置,但它似乎不起作用.

asp.net viewstate

17
推荐指数
1
解决办法
1万
查看次数

用于ASP.NET中的MachineKey

机器密钥在asp.net中有哪些不同的用途?我认为以下是正确的,但认为可能还有更多.

  1. 多个应用程序可以使用相同的cookie
  2. 多个服务器可以使用相同的视图状态

c# asp.net cookies viewstate machinekey

16
推荐指数
2
解决办法
2万
查看次数

设置ViewStateUserKey会给我一个"viewstate MAC failed的验证"错误

我的BasePage课程中有以下内容,我的所有ASPX页面都来自:

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    ViewStateUserKey = Session.SessionID;
}
Run Code Online (Sandbox Code Playgroud)

我也machineKey有一套Web.config.我不认为这个错误是因为Web场,因为这也发生在我的开发机器上.

我的主机现已升级到.NET 3.5 SP1.在此更新之后,每次使用ViewStateUserKey上面的设置进行编译时,我都会在每次回发时不断获得"viewstate MAC failed"验证错误.

我在这做错了什么?使用最新的框架更新,此设置是否更加必要?

c# asp.net viewstate asp.net-2.0 failed-to-load-viewstate

16
推荐指数
2
解决办法
3万
查看次数

完全删除特定页面的ViewState

我有一个网站,其中包含一些不需要任何回发功能的页面.它们只显示静态 HTML,甚至没有任何相关的代码.但是,由于母版页有一个<form runat="server">包装所有ContentPlaceHolders 的标记,因此生成的HTML总是包含ViewState字段,即:

<input
  type="hidden"
  id="__VIEWSTATE"
  value="/wEPDwUKMjEwNDQyMTMxM2Rk0XhpfvawD3g+fsmZqmeRoPnb9kI="
/>
Run Code Online (Sandbox Code Playgroud)

编辑:我尝试了EnableViewState在页面级别设置的两种变体,但没有运气:

<%@ Page Language="C#" EnableViewState="false" %>
<%@ Page Language="C#" EnableViewState="true" %>
Run Code Online (Sandbox Code Playgroud)

我意识到,当解密时,该input字段的值对应于<form>我无法删除的标记,因为它在我的母版页上.但是,我仍然希望删除仅显示静态HTML的页面的ViewState字段.可能吗?

asp.net viewstate optimization

16
推荐指数
2
解决办法
3万
查看次数

如何禁用aspx页面的viewstate?

我需要在我的Web应用程序中完全禁用viewstate for aspx页面.我经历过不同的博客,我理解的是我们必须设置<%@ Page EnableViewState="false" ...%>.但这不起作用.我的问题是,这是否足以禁用页面内所有控件的viewstate?或者我应该进行任何其他修改吗?请具体说明.我不想在aspx页面内启用viestate甚至单个控件

asp.net viewstate

16
推荐指数
2
解决办法
4万
查看次数

ViewState仅在Safari中无效

我维护的其中一个网站在很大程度上依赖于使用ViewState(它不是我的代码).但是,在某些ViewState特别容易发生爆炸的页面上,Safari会抛出"Validation of viewstate MAC failed"错误.

这似乎只发生在Safari中.Firefox,IE和Opera都在同一场景中成功加载.

.net c# viewstate safari

15
推荐指数
2
解决办法
2872
查看次数

如何使用javascript访问viewstate?

我试图在客户端访问视图状态但是在出现异常后: 在此输入图像描述

JAVASCRIPT:

<script language="javascript" type="text/javascript">
    var vCode = '<%=ViewState("code")%>';
    alert(dateView);
</script>
Run Code Online (Sandbox Code Playgroud)

代码背后:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ViewState("code") = "EE"
End Sub
Run Code Online (Sandbox Code Playgroud)

有谁建议我怎么做?

javascript asp.net viewstate

15
推荐指数
3
解决办法
8万
查看次数