在我的表单发布后,使用jQuery动态创建的标签消失

h3n*_*h3n 3 asp.net-mvc jquery

我的页面使用jQuery动态创建行,但是当我刷新表单时,行就消失了.

如何在MVC中保留jquery动态创建的控件?

这是一个主要的详细信息页面,我正在创建一个结算明细页面.详细信息有一个按钮,当您单击它时将显示一个询问详细信息的对话框.在对话框中单击"确定"后,我将使用Jquery在详细信息表上添加新的详细信息.问题是当您刷新页面时,动态创建的行会消失.

Jon*_*ley 5

互联网是无国籍的

由于互联网的无状态特性,在客户端使用JavaScript完成的任何操作都不会在页面重新加载之间自动记住.通过邮寄提交表单将导致页面重新加载,因此忘记了客户端更改.要记住所做的更改,开发人员需要专门编写存储方法的代码.

阿贾克斯

当您使用JavaScript并且特别是jQuery时,可以使用ajax调用来通知服务器客户端所做的更改.

jQuery有一个优秀的AJAX库.在jQuery教程页面上可以找到几个教程.还有很多关于这个主题的网页.

使用jQuery的Ajax示例

举个简单的例子,当您添加额外的行时,您可以调用ajax函数,例如:

$.ajax({
  url: 'ajax/add_row.html?user_id=100&data=new-data',
  success: function(data) {
    alert('Adding of the row was acknowledged.');
  }
});
Run Code Online (Sandbox Code Playgroud)

服务器端

在服务器端,您只需要一个位于ajax/add_row.html的页面来完成一些工作,将传递给它的数据添加到数据库中.在下一页重新加载时,可以像往常一样将添加的数据放到页面上.

实际上,如果您的数据比这更复杂,最好通过post方法将数据发送到脚本.