Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ASP.NET表单在不丢失状态的情况下发布到经典ASP页面_Javascript_C#_Html_Asp.net_Asp Classic - Fatal编程技术网

Javascript ASP.NET表单在不丢失状态的情况下发布到经典ASP页面

Javascript ASP.NET表单在不丢失状态的情况下发布到经典ASP页面,javascript,c#,html,asp.net,asp-classic,Javascript,C#,Html,Asp.net,Asp Classic,我有一个ASP.NET页面,其中包含一个表单,在提交时,将其发布到一个经典的ASP页面SaveToDatabase.ASP,该页面的职责是将表单数据保存到数据库中 mypage.aspx: <form name="mfyorm" id="myform" method="POST" action="SaveToDatabase.asp" runat="server"> ... </form> ... SaveToDatabase.asp使用request.form读

我有一个ASP.NET页面,其中包含一个表单,在提交时,将其发布到一个经典的ASP页面SaveToDatabase.ASP,该页面的职责是将表单数据保存到数据库中

mypage.aspx:

<form name="mfyorm" id="myform" method="POST" action="SaveToDatabase.asp" runat="server"> 
...
</form>

...
SaveToDatabase.asp使用request.form读取发布的值,并使用ADO将这些值保存到数据库中。使用经典ASP的原因是由于遗留的原因,而且过于复杂,无法从中迁移

如果由于某种原因ASP页面无法保存数据(例如,由于查询超时),则会输出错误消息。我还希望在消息旁边包含一个链接,单击该链接后,用户将返回mypage.aspx(使用编辑过的表单),以便用户可以重试保存操作


我遇到的困难是如何让mypage.aspx加载它以前的状态,因为我不希望用户丢失未保存的更改。我想我可以在导航回mypage.aspx时,以查询字符串的形式传递从request.form值检索到的值。以这种方式重新填充所有表单值似乎是一种痛苦。有没有其他技术可以用来防止状态丢失?

必须考虑在iframe中运行经典ASP页面,并让它在父ASP.Net页面中调用JavaScript函数?您可能还希望ASP.Net页面中有一个计时器,在ASP页面无法完成时触发该计时器。这样,您将保留ASP.Net页面状态。您还可以在经典ASP页面上包含一个小的
iframe
,其中包含一个空白页面,并在页眉中包含
。这将每15分钟刷新一次iframe。只需确保它位于某个地方,并且与主页的背景颜色相同即可。最好注意,在大多数情况下,元刷新是不受欢迎的。要响应其他人的建议,您可能希望在不同的框架中运行ASP代码,或者可能是带有“处理”消息的模式弹出窗口。根据您的布局,其中一个可能更适合您的用户。您甚至可以将iFrame(在调用之前隐藏)塞进submit/cancel按钮下方的底部,在提交时激活/显示带有消息“Save…/processing…”的框架,如果返回错误,则显示它并相应地设置框架样式。是的,我喜欢使用隐藏iFrame的想法。我很乐意接受你的回答。