【问题标题】:asp.net multiview issue with SafariSafari 的 asp.net 多视图问题
【发布时间】:2012-02-29 17:04:06
【问题描述】:

我有一个在 asp.net (.NET Framework 4) 中构建的非常简单的页面,它有一个包含几个视图的多视图,这些视图在单击按钮时显示 - 这似乎在我测试过的所有浏览器上都可以正常工作我的本地机器,但是一旦我将它移动到服务器,当使用 Safari 查看页面时单击按钮时,活动视图不会改变。

在调试时(或在服务器上的其他浏览器上查看页面时),我没有看到任何错误或警告。有趣的是,如果我使用 iPhone(4S) 查看该页面,但尝试使用安装在我的 PC 上的 Safari 5.1.2 浏览它,则该页面在服务器上显示和工作正常,这是我发现问题的地方。

似乎没有触发的代码如下所示,并在单击 asp 按钮时触发:

MultiView1.ActiveViewIndex = 2

有没有人遇到过类似的问题,因为我在网上找不到很多东西?

可以在以下 URL 看到相关页面 - http://www.ddlgroup.eu/ArdbegSurvey/survey.aspx

【问题讨论】:

  • 感谢您的回复,但我不知道 - 如果这是问题所在,我不希望在调试时也会在本地机器上看到它吗?
  • 我不知道,但在我的 Safari 上它可以工作,是在调查结束时给我另一个错误。
  • 是的,调查结束时的错误是预期的,因为我已将它放在当前服务器上进行测试 - 当移动到生产服务器时,它会将结果写入文本文件(我知道非常过时但这就是老板想要的!)你用的是什么版本的Safari?
  • safari 版本 = 和你一样

标签: asp.net safari


【解决方案1】:

我已经检查了该页面,我认为您需要做的是禁用浏览器上任何可能的缓存,因为页面名称不会因页面和回发而改变,这可能是问题所在。在 PageLoad 上添加所有这些参数,然后重试。

Response.Cache.SetExpires(DateTime.UtcNow.AddYears(-4));
Response.Cache.SetValidUntilExpires(false);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetNoStore();
    Response.ExpiresAbsolute = DateTime.Now.Subtract(new TimeSpan(1, 0, 0, 0));
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.AppendHeader("Pragma", "no-cache");

在我的 safari 中,相同版本运行良好 - 调查结束时出现其他一些错误。

【讨论】:

  • 我已经添加了你的代码,但仍然遇到同样的错误 - 当我回到家时,我会尝试在一台没有网络的机器上通过 Safari 访问,因为你可以访问它排除某种奇怪的网络问题。
  • @allanmayberry88 可能是防火墙问题?无论如何都对我有用
  • 是的,是我的代理有问题,换了一个,它工作正常 - 一旦允许我,我会添加一个答案:)
【解决方案2】:

问题似乎源于通过主要业务代理使用 Safari 访问该网站 - 我不完全理解这可能是一个问题,但更改为使用不同的代理似乎可以解决问题

【讨论】:

    猜你喜欢
    • 2020-03-01
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多