我确定这是 RTFM,但我就是不知道我应该 R 哪个 FM。
我正在尝试提供 JNLP(Java Web Start)文件(这是一种 XML 格式),而 ASP.Net 坚持将 HTML 代码附加到响应正文。
更多详细信息:我有一个 .aspx 文件和一个随附的 .aspx.cs 文件。这些是使用“新页面”向导生成的。在 Page_Load()
在 .aspx.cs 文件中,我生成一些 XML,执行 Response.ContentType = "application/x-java-jnlp-file"
,你知道该怎么做。
然而,.aspx 文件包含:
<%@ Page Language="C#" CodeBehind="MyPage.aspx.cs" Inherits="MyProj.MyPage" EnableSessionState="False" %>
<!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" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
此代码附加到输出中。
如何避免这种情况?我尝试调用 Response.End()
来自Page_Load()
但据报道它是邪恶的并且会抛出令人讨厌的异常。 Response.Close()
更糟糕的是,它会破坏 HTTP。我还尝试简单地从正文中删除所有 HTML,但 ASP 随后提示它需要 <head runat="server">
对于所谓的“主题 CSS”(我不确定这意味着什么)。
有线索吗?
谢谢!
最佳答案
必填Use a Handler .
这为您提供了对信息直接输出所需的所有控制。所包含的文章甚至给出了输出图像的示例。
关于c# - 避免 ASPX 页面中的标准 HTML 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6427629/