首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >客户端JavaScript ViewState在asp .net窗体中的更新

客户端JavaScript ViewState在asp .net窗体中的更新
EN

Stack Overflow用户
提问于 2011-02-03 15:47:46
回答 1查看 8K关注 0票数 3

当我需要撤回html控件时,我偶然发现了这个问题,我在回发(由于服务器端验证--这不是可选的)之后使用JavaScript 添加了客户端。

请告诉我,如果我试图实现这是cr*p,有一个更好的方法来做到这一点。

基本上,我所做的是在页面上克隆一个textbox控件最多10次,当用户点击"Add“,并将每个文本框中输入的值存储在隐藏的字段中,以便在后面的代码中读取。但是,如果服务器端验证在回发后没有通过,那么所有动态添加(克隆)文本框就会消失,因为ViewState对它们一无所知。

我正在考虑两种可能的解决方案,两者似乎都很麻烦。

  • 在document ()上使用隐藏字段
  • 中存储的值重新构建所有克隆的文本框,并将表单包装在ajax更新面板中,并将克隆的文本框放在其中,因此,不会在回发

上刷新屏幕的这一部分。

现在,是否有可能以某种方式“更新”ViewState,使其知道我使用客户端脚本添加的所有html控件?有更好的主意吗?我想用客户端脚本来实现这一点,因此不考虑在服务器端克隆文本框,对不起。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-03 15:59:55

不能在客户端修改ViewState。如果这样做,您将使viewstate失效,并在回发时收到一个错误。

在您的示例中,您可能需要考虑使用javascript和jQuery来呈现上的文本框,其值存储在隐藏字段中。我建议查看jQuery模板,特别是如果您可以将数据存储为JSON在隐藏字段(http://weblogs.asp.net/scottgu/archive/2010/10/04/jquery-templates-data-link-and-globalization-accepted-as-official-jquery-plugins.aspx)中。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4888280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档