当前位置: 首页 > 面试题库 >

NET格式的客户端JavaScript ViewState更新

江亮
2023-03-14
问题内容

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

请告诉我是否要实现此目标的方法是cr * p,并且有更好的方法可以做到这一点。

基本上,我正在做的是在用户单击“添加”时在页面上最多克隆文本框控件10次,并将每个texbox输入的值存储在隐藏字段中以从后面的代码中读取。这很好用,但是,当服务器端验证在回发后没有通过时,所有动态添加(
克隆的 )texbox都消失了,因为ViewState一无所知。

我正在考虑2种可能的解决方案,这两种方法似乎都是很 棘手的

  • 使用隐藏字段中的存储值在文档onload()上重建所有克隆的文本框

  • 将表单包装在ajax更新面板中,然后将克隆的texbox放在表单外部,这样就不会在回发时刷新屏幕的这一部分

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


问题答案:

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

在您的情况下,您可能要考虑使用javascript和jQuery在文档就绪事件中使用存储在隐藏字段中的值来呈现文本框。我建议您看一下jQuery模板,特别是如果您可以将数据以JSON格式存储在隐藏字段中的话(http://weblogs.asp.net/scottgu/archive/2010/10/04/jquery-
templates-data -将链接和全球化接受为官方的jquery-plugins.aspx)。



 类似资料:
  • 这是一个用 C# 开发的 FTP 客户端组件

  • 但是,我得到以下错误: 搭建代码...错误:错误:无法导入WSDL:portType详细信息:运行WSDL导入扩展时引发异常:System.ServiceModel.Description.XmlSerializerMessageContracTimPorter错误:缺少数据类型“http://schemas.xmlsoap.org/soap/encoding/:array”。错误源://wsdl

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 我正在做一个基于VLCJ流的项目。我查阅了VLCJ教程中关于如何从下面的代码创建服务器端的内容。客户端如何从服务器获取视频内容?我也编写了客户端代码,但它没有显示任何内容。 如有任何帮助,我们将不胜感激。谢谢. 服务器代码: } 客户端: 正如您在上面看到的,MediaPlayer.PlayMedia(publicServer)应该显示视频内容,但没有显示任何内容。JFrame只是空的。

  • 问题内容: 到现在为止,我主要是利用,,用于构建Web应用程序技术堆栈。关键是,提到的堆栈使用服务器端模式。Web浏览器的主要作用仅限于请求/响应周期(+客户端验证)。数据检索,业务逻辑,接线和验证是服务器端的主要职责。 我对 AngularJS 框架有几个疑问,这些疑问是由我阅读过以下引号引起的: 从 AngularJS教程中 : 对于Angular应用,我们鼓励使用Model-View-Con

  • 关于AngularJS框架,我有几个问题是从我读到的以下引用中得到启发的: 从AngularJS教程: 对于有角度的应用程序,我们鼓励使用Model-View-Controller(MVC)设计模式来解耦代码并分离关注点。 我知道我的问题有些奇怪,但我认为原因是,我对传统的服务器端MVC模式有些敏感。我确信有人已经做了同样的转变。