我在使用简单的ASP.NET应用程序和回发后的后退按钮时遇到了问题.
有问题的页面上有一个简单的表单,一些文本字段等,以及一个用于回发的下拉列表(autopostback).
"正常"流程是用户填写表单并可能更改下拉列表.根据下拉值,页面内容可能会更改.
我遇到的问题是,在用户更改了下拉列表并且回发已完成后,用户单击后退按钮.他们看到来自IE的"网页已过期"消息.
我设置了以下内容:
Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.Private);
Run Code Online (Sandbox Code Playgroud)
但这似乎没有解决问题.
实际的Cache-Control响应头读取为:private,no-cache:"Set-Cookie"
在一个经典的ASP应用程序中,只有"私有"的Cache-Control响应头,后退按钮在"回发"后表现如预期.
反正是否强制ASP.NET将缓存控制明确设置为"私有"?或任何其他导致后退按钮和回发一起工作的解决方案?
谢谢!
我开始使用IronPython和VS2010,我在调试环境方面遇到了麻烦......有人能指出我正确的方向吗?请注意,我的python知识不到一周,所以我的问题很可能是自己造成的.
最令人讨厌的问题是,当发生异常时,VS调试器不会破坏异常发生的位置......但它似乎在最高级别中断.这样就可以确定异常发生的地方是令人沮丧的断点和踩踏行为.
另一个烦恼是提高自定义异常.调试器只告诉我异常的类名而不是消息(但是本机铁python异常包括两者).例如:
class MyCustomError(BaseException):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
Run Code Online (Sandbox Code Playgroud)
当被引发时(例如"提升MyCustomError('一些好消息')")我在调试器中看到的所有$ exception都是"MyCustomError"....当我真的想看到不仅是类名而且还有值.
任何帮助,将不胜感激!!
我一直在敲打和敲打这件事,但无处可去。
我有一个取消按钮,它执行“window.location = '404.htm';” 单击时。onbeforeunload 处理程序会触发两次,但前提是用户在第一个对话框中单击“留在此页面上”。正常导航(页面刷新,转到主页) onbeforeunload 处理程序仅触发一次。
我设法用最少的 HTML 和脚本重现了这种行为:
<!DOCTYPE html>
<html>
<head>
<title>Test page</title>
</head>
<body onbeforeunload="return 'Unsaved changes';">
<form name="form1" id="form1">
<input id='cmdCancel' type="button" value="Cancel" onclick="window.location = '404.htm';" />
</form>
<script type="text/javascript">
/*
* Connecting the events via code makes no difference
*
document.forms[0].cmdCancel.onclick =
function () {
alert('Clicked cancel. About to navigate...');
window.location = '404.htm';
};
window.onbeforeunload = function () {
return "Unsaved changes";
};
*/
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
“onbeforeunload 被调用两次”有很多点击,但没有最小的复制,也没有实际的解决方案。
有什么建议?
谢谢!