近来的一个项目,是基于C/S架构的,服务端和客户端通过JSON进行交互。在项目中,我们利用C#中最普通的网站、网页构建。但服务端通过HTTP返回的JSON结果中,内容末尾总是带有“<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">”等HTML的信息。这给我们解释JSON带来了麻烦。
有没有方法去掉末尾的HTML信息呢?当然有。其实,这需要用到Response对象。下面是具体例子。
假设有这么一个页面default.aspx,新建时源代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication._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" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
把其中的HTML代码去掉,只留下这么一行:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication._Default" %>
有没有方法去掉末尾的HTML信息呢?当然有。其实,这需要用到Response对象。下面是具体例子。
假设有这么一个页面default.aspx,新建时源代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication._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" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
把其中的HTML代码去掉,只留下这么一行:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication._Default" %>
然后,转到后台代码文件default.asp.cs,修改为:
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.Write("清除所有HTML信息后的页面");//输出的信息
}
运行结果如下图,可见输出的源代码中已经没有其他多余的HTML代码。