2012-01-25 62 views
0

我想知道是否正常。我使用jQuery添加了一个选项。当我用asp按钮保存时,在click事件中看不到服务器端的更改。服务器端不会在客户端看到更改

添加选项后,HTML全部正确。

这是编码问题还是我不​​明白? :P

$(selectCourant) 
      .append($("<option></option>") 
      .attr("value",$(dropdown).val()) 
      .text($(dropdown + " option:selected").text())); 

谢谢

ASP.NET和vb.net

回答

4

是的,你不明白的东西。

在客户端Web浏览器端发生的事情不会通知服务器 - 除非您编写额外的代码并以编程方式执行该操作。

服务器端不知道,nether读取dom(html结构),即使他想这样做,他也看不懂它。

一个解决方案是用一个后期值发回它。例如,当您添加一个选项时,还可以将其他值添加到隐藏的输入中,并将您的操作回发给服务器端。然后,你负责任地阅读这些值,理解它们并在代码后面更新你的数据。

后面的代码不仅不知道客户端发生了什么,还不知道发生了什么,在页面发送完成之后回来,并返回到视图状态。 Codebehind将视图状态的大部分信息保存(除非您在控件或页面上禁用它)以记住这些更改。然后在发回视图状态发送到后面的代码,并在后面的代码解码它,并知道发布之前做了什么。

再多说几句话。 当您准备并“渲染”html页面时,您将所有的html结构发送到浏览器客户端,并且浏览器呈现页面。当浏览器向服务器发回帖子时,只发送发回的变量,所以服务器只知道返回的信息,并使用这些信息重新播放一个新的html结构。

+0

谢谢。很好的解释! – Marc

相关问题