【问题标题】:I am having a weird issue with postback, it redirects instead of postback我对回发有一个奇怪的问题,它重定向而不是回发
【发布时间】:2012-06-08 02:44:06
【问题描述】:

我有一个非常奇怪的问题。我的应用程序在我的 PC 上运行良好(像往常一样),但是当我将其部署到生产环境时,它会执行以下操作:

  • 当我通过键入http://localpet.cloudapp.net/ 访问站点时,当我从下拉列表中选择用于加载另一个下拉列表的项目时,值会从第一个下拉列表中清除,就好像它不是回发而是重定向到相同页面或刷新它
  • 当我使用 http://localpet.cloudapp.net/Default.aspx 访问网站时,一切正常,所有回发功能都按预期进行

您可以自己尝试,访问我的网址并尝试从下拉框中选择动物类型。值被清除。但是,如果您指定页面“Default.aspx”它工作正常。我没有做任何明确的页面重定向。在我的本地 PC 上,我尝试使用 Casini 和 IIS,它工作正常。请帮忙

【问题讨论】:

  • 你想在这里放一些代码并记住触发器吗?

标签: c# asp.net azure asp.net-ajax postback


【解决方案1】:

看看ASP.NET 4.0的变化。

在 IIS 7 的默认文档中可能不会引发事件处理程序 或 IIS 7.5 集成模式。

ASP.NET 4 现在呈现 HTML 表单元素的 action 属性值 当向无扩展名 URL 发出请求时作为空字符串 有一个映射到它的默认文档。例如,在早期版本中 在 ASP.NET 中,对 http://contoso.com 的请求将导致请求 到 Default.aspx。在该文档中,开始表单标签将是 如下例所示:

<form action="Default.aspx" />

在 ASP.NET 4 中,对 http://contoso.com 的请求也会导致 请求 Default.aspx。但是,ASP.NET 现在呈现 HTML 开头 form 标签如下例所示:

 <form action="" />

在发布的链接(文章)和 SO 线程 - Postback doesn't work with aspx page as Default Document 中提到了一些解决方法。

这是另一种设置动作属性的方法。您必须在 Default.aspx 的 Page_Load 处理程序中编写以下代码。

 HtmlForm form=Master.FindControl("form1") as HtmlForm;
 form.Action = "Default.aspx";

【讨论】:

  • 那我该怎么办?我的表单标签在母版页中,因此通过将
    添加到母版页不会告诉它始终查看 default.aspx 页面吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-05
  • 2015-12-13
  • 1970-01-01
  • 2019-04-25
  • 1970-01-01
  • 2014-11-24
  • 2013-12-17
相关资源
最近更新 更多