【发布时间】:2015-04-11 12:11:57
【问题描述】:
我一直在从事一个必须在 IIS 7.5 上以集成模式运行的 asp.net 项目。
当我使用Response.write("sometext") 时,IIS 会用废旧的HTML 标签包装我的文本。
看看这段代码:
protected void Application_BeginRequest(object sender, EventArgs e)
{
Response.Clear();
Response.ClearContent();
StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.Append("<head>");
sb.Append("</head>");
sb.AppendFormat("<body>");
sb.AppendFormat("some text");
sb.Append("</body>");
sb.Append("</html>");
Response.Write(sb.ToString());
Response.End();
}
我希望从服务器收到这个:
<html>
<head>
</head>
<body>
sometext
</body>
</html>
但是服务器给了我这个:
<html>
<head>
</head>
<body>
<pre>
<html><head></head><body>sometext</body></html>
</pre>
</body>
</html>
有什么问题??
应用程序在VS web developer server 或IIS(在经典模式下)运行良好。
【问题讨论】:
-
您的 aspx 文件中有 html 吗?是否定义了母版页?
-
项目既有aspx(带html)也有母版页,但我把这些代码放在global.asax文件中
-
是的,但是您正在渲染页面.. Default.aspx 或其他任何内容。该页面将默认呈现其母版页,这可能是您获取 head 和 pre 的地方
-
这里是场景:我请求一个在服务器上不存在的 URL。然后在服务器可以返回 404 错误页面之前,我根据输入的 URL 生成一个动态页面。所以我们没有 .aspx 页面,也没有母版页
标签: asp.net iis-7.5 integrated-pipeline-mode