【发布时间】:2026-01-05 00:25:01
【问题描述】:
在我的 MVC 应用程序中,我遇到了一个非常奇怪的 jquery 对话框问题。我在用 此应用程序的多级对话框;其中在第一级对话框中将有 jqGrid 显示记录并提供链接列以在第二级对话框中操作记录。
可以使用 jqGrid 中的链接列打开一个包含操作数据的小表单的对话框。单击链接时预填充此表单数据存在问题; & 发生在随机时间间隔。当我打开此表单以编辑 jqGrid 中的任何记录时,预填充的数据来自先前打开的记录以进行编辑。然后,如果关闭此对话框并尝试打开相同的记录进行第二次编辑,它将向我显示正确的预填充数据。一旦出现此问题,然后此问题将继续存在,直到我们在浏览器中刷新基本页面。如果我检查当前 ajax 调用收到的响应以使用 firebug 以对话框形式加载数据;我看到从服务器返回的数据是正确的,但是表单中显示的数据是错误的,这是来自先前打开的 jqGrid 记录。您可以在下面的屏幕截图中看到这一点
请看下面的截图
在最顶部对话框后面的网格中,具有编辑图标的最后一列是链接列,用于打开具有问题表单的顶部对话框。此列还包含数据[可能是日期或文本],这些数据将作为参数发送到打开的表单中进行编辑。如图所示,在网格中选择的第二条记录的日期为 11/26/2013 和我从通过单击相应链接生成的 ajax 请求获得的 html 响应是根据功能。但是打开的对话框显示的是在当前编辑之前编辑过的第一条记录的日期。
这是一种数据缓存问题;我尝试在相应的 1 级和 2 级弹出视图中包含以下元标记
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
我认为问题已解决;但事实并非如此。 根据我的观察,它只是降低了此问题的发生频率不确定
我希望这个描述足够清楚,可以理解问题。
【问题讨论】:
标签: javascript jquery asp.net-mvc-4 jqgrid popup