问题标签 [viewstate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6363 浏览

c# - .NET 中 AJAX 和 ViewState 的行为不一致

我发现点击浏览器上的“刷新”按钮会暂时搞砸 UpdatePanel 中控件的 ViewState。

这是我的情况:我制作了一个自定义 WebControl,将值存储在 ViewState 中。我将此控件放在 UpdatePanel 中。当我点击浏览器上的“刷新”按钮时,它会暂时清除 ViewState 中的值。然而,在下一次回发时,我点击“刷新”之前 ViewState 中的值神奇地重新出现。

这种行为搞砸了我的网络控制。在我点击“刷新”后,控件返回到其初始状态,因为 ViewState 为空且 IsPostBack 设置为 false。但是,当我单击 WebControl 中的一个回发控件时,WebControl 将使用与我点击“刷新”之前 ViewState 中相同的值重新加载。

奇怪的是,这只发生在我使用 AJAX 时。当我的控件在 UpdatePanel 之外时,Firefox 会给我它的标准消息,“要显示此页面,Firefox 必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息(重新发送)(取消) 。” 这很好,因为至少行为是一致的。但是,我绝对必须为这个项目使用 AJAX。

所以这就是我想做的——我想让“刷新”行为保持一致。如果点击“刷新”完全不影响 ViewState,那将是最好的。但是,如果它必须清除 ViewState,那很好,只要 ViewState STAYS 清除即可。这些东西都没有价值消失和重新出现。

哦,是的,这是我的示例代码:

0 投票
1 回答
221 浏览

sql-server - enableviewstate = false 时 SQL 登录失败

再会,

我在使用 asp.net 2.0 viewstate 时遇到问题。

基本上,我想禁用网格视图的视图状态。但是,当我这样做时,一旦有回发,甚至在进入 Page_Load 之前,我都会收到“用户 sa 登录失败 ...”。

如果我重新启用视图状态,一切都会顺利进行。

在 PageLoad 中,我将连接字符串设置为所有 SqlDataSource,但正如我所说,错误甚至在 PageLoad 之前就出现了。

在 PageLoad 中,我尝试执行以下操作: MyGridView.DataSourceId = "MySqlDataSource" 但没有运气。我的想法不多了。

任何的想法?

谢谢!

0 投票
2 回答
2075 浏览

asp.net - Binding gridviews to viewstate until being able to write to database

I recently began working on a project which has many gridviews on a single page. During creation of a new record, the user needs to be able to add/remove/edit these gridviews and then save to the database at the end. The problem with this obviously is that there is no datasource to bind the data too until after its written to the database.

This data represents a 1..* relationship, which is why the gridview data cannot be written to the database until the parent record has been created first.

The best way I have found so far to solve this is to use viewstate. This solution however does not seem ideal to me. I am also forced to manually create the gridview functionality with OnDeleting, OnUpdating, etc so that I can manage the binding of the viewstate with the gridview.

Does anyone have any suggestions on a better way to manage this situation, it seems like it would be a common thing?

UPDATE:

Keep in mind this data needs to be around throughout postbacks.

0 投票
1 回答
743 浏览

asp.net - 无法让 ViewState 在生产服务器上工作

我在我的 Vista 盒子 (IIS7) 上开发了一个 ASP.NET 应用程序。在我将它部署到产品服务器 (W2K3/IIS6) 之前它工作正常。部署后,我会得到一致的“对象引用未设置为对象的实例”。从我的 ViewState 对象读取时,该对象确定按钮是显示“开”还是“关”图像。

页面加载的代码将 ViewState 初始化为 on:

然后我在 OnPreRender 方法中检查按钮的状态:

为了在按钮的状态之间切换,我捕获了按钮的单击并切换 ViewState 中的值:

在开发盒上,这非常有效。但是,在 live box 上,页面加载正确,但是当您单击按钮(或实际上导致回发的任何其他按钮)时,您会在回发后收到错误消息。

任何人都可以帮忙吗?

0 投票
5 回答
13790 浏览

asp.net - 如何持久化列表ASP.NET 自定义控件中的属性?

我在自定义控件中有以下属性:

在我的代码隐藏中,我将项目添加到集合中,如...

但是,这些不会在回发中保留。允许自定义控件持久性的正确方法是什么?

0 投票
3 回答
1172 浏览

asp.net - 如何创建通用 StateManagedCollection?

此处描述了一个示例。但作者显然忘记包含下载代码。

此处显示了另一个示例。但是,这个不太有效(如评论中所述)。

你如何正确地做到这一点?

0 投票
8 回答
6162 浏览

asp.net - ASP.NET 2.0 RijndaelManaged 加密算法与 FIPS

我遇到了 ASP.NET 2.0 应用程序的问题。我们的网络人员刚刚提高了我们的安全性,现在每当我尝试访问该应用程序时都会出现以下错误:

“此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。”

我做了一些研究,听起来 ASP.NET 使用 RijndaelManaged AES 加密算法来加密页面的 ViewState ......并且 RijndaelManaged 在不符合 FIPS 的算法列表中。我们当然没有明确地调用任何加密算法......更不用说不合规列表上的任何东西了。

我猜这个 ViewState 业务对我来说很有意义。不过,我无法混淆的是如何处理它。我发现一篇知识库文章建议使用 web.config 设置来指定不同的算法......但要么没有坚持,要么该算法不符合标准。

所以:

1) RijndaelManaged / ViewState 真的是问题吗?还是我在叫错树?

2) 如何指定使用什么算法而不是 RijndaelManaged?我有一份符合和不符合要求的算法列表;我只是不确定在哪里插入这些信息。

谢谢!

理查德

0 投票
3 回答
2925 浏览

asp.net - ASP.NET 视图状态验证 - ASP.NET 1.1 与 ASP.NET 3.5

我们正在将我们的 Web 应用程序从 ASP.NET 1.1 迁移到 ASP.NET 3.5。我们的应用程序通过 DNS 循环在多个服务器上运行,因此每个浏览器请求都可能最终在不同的服务器上。我们的 web.config 中确实有一个来防止验证错误。

但是,我们的计划是一次迁移一台服务器。现在看起来就像用户在 1.1 上加载页面时的样子。服务器,然后页面在回发时在 3.5 服务器上结束,视图状态验证失败。

我在网上找不到任何关于这个问题的东西——我只是猜测视图状态验证在 1.1 之间不兼容。和 3.5,即 1.1 生成的视图状态不会在 3.5 上验证,即使使用相同的 machineKey,反之亦然。

谁能证实这个怀疑?

谢谢

0 投票
3 回答
8172 浏览

dynamic - 如何使用 ASP.NET 从动态创建的 FileUpload 控件上传文件?

在下面附加的代码中,我试图通过 ASP.NET 上传文件。我正在动态创建 FileUpload 控件,这意味着它不在我的 ViewState 中,这(我认为)意味着我不能使用该控件来上传文件,除非我使用我不想使用的老式 multipat/form-data 方式做。我需要能够允许用户创建多个 FileUpload 字段,然后当他们单击 Upload File(s) 按钮时,它会遍历所有 FileUpload 字段并将它们上传到服务器。

我敢肯定有一种方法可以做到这一点,我只是没有想到 - TIA!

0 投票
2 回答
6476 浏览

asp.net - ViewState 对象在母版页加载中丢失

我在内容页面的页面加载中分配 ViewState["something"],当我尝试访问母版页加载事件处理程序中的 ViewState 变量时,viewstate 变量丢失了。谁能指导我为什么会发生这种情况以及解决方案。