Asp.net 已发布的数据丢失

Asp.net 已发布的数据丢失,asp.net,iis,iis-7,Asp.net,Iis,Iis 7,Im正在从IIS6迁移到IIS7(集成模式)。 我有很多问题,但现在几乎一切都正常,除了: 当我在诸如“/”或“/test/”之类的URL上发布数据时,将显示Default.aspx,但HttpRequest对象上缺少发布的数据。 如果我发布到“/Default.aspx”或“/test/Default.aspx”,则没有问题。 在我的其他服务器(IIS7)或本地服务器(IIS8)上都没有问题。我试图比较两台服务器上的处理程序配置,但没有发现任何差异 这是我的测试页面: <%@ Page

Im正在从IIS6迁移到IIS7(集成模式)。 我有很多问题,但现在几乎一切都正常,除了: 当我在诸如“/”或“/test/”之类的URL上发布数据时,将显示Default.aspx,但HttpRequest对象上缺少发布的数据。 如果我发布到“/Default.aspx”或“/test/Default.aspx”,则没有问题。 在我的其他服务器(IIS7)或本地服务器(IIS8)上都没有问题。我试图比较两台服务器上的处理程序配置,但没有发现任何差异

这是我的测试页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<body>
    <form method="POST" action="">
        <p>
            <input type="text" name="text"/>
            <input type="submit" value="send" name="button"/>
        </p>
        <p>
            method: <%=Request.HttpMethod %>
            <br/>
            post: <%=HttpUtility.HtmlEncode(Request.Form.ToString()) %>
        </p>
    </form>
</body>
</html>


方法:
职位:


我在将旧站点从IIS6迁移到IIS7时遇到过类似的问题,我很确定这是一个web.config问题

最快的解决方法是

<validation validateIntegratedModeConfiguration="true" />

它将引发异常,直到您拥有集成模式的有效web.config

很多情况下,IIS6的配置值未迁移到IIS7且隐藏

仔细检查模块和处理程序定义它们必须位于不同的位置:

在IIS6中,它们被放入
元素中


在IIS7中,它们进入
元素您是否处于回发场景中,/test/posbacking to/test/default.aspx?或者页面发布到其他页面?我的测试页面尽可能简单。没有runat=server控件,只有一个文本输入和一个提交按钮。而Request.Form[“textinputname”]没有值?请发布您的简单html页面(输入应具有id和name属性)@jbl我编辑了我的帖子以添加我的测试页面。在我的本地IIS8和beta服务器上工作正常。它只在我的带有一些URL的生产服务器上失败。@TomEsterez你发现了吗?谢谢你的提示。我添加了验证标记,但没有错误。@TomEsterez检查是否已加载iis6中的所有模块和处理程序iis7@TomEsterez只需检查iis6的web.config中的每个模块和处理程序定义是否在新的web.config中。我的beta服务器也是IIS7。我对我的问题进行了编辑以澄清。@TomEsterez不清楚:你是从A页发到B页的吗?还是只是在自我发布?