0

我想创建一个 Web 表单,我将在其中基于 GET 参数通过 jQuery 执行一些后台操作,并打印 1 或 0。但问题 - ASP.NET 默认打印大量 HTML,即使在不存在此类代码的情况下标记窗口

<%@ Page Language="C#"%>
<%
  try
  {
    int cID = int.Parse(Request.QueryString["cid"].ToString());
    //do some job and print 1 or 0
  }
  catch { }
%>

但是在输出窗口中我看到了 HTML 代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD>
<BODY></BODY></HTML>
4

1 回答 1

1

我建议您使用 ashx(添加新项目 > 通用处理程序)处理程序而不是 aspx 表单

在流程请求中将响应 Mime 类型更改为 text/plain 并将查询字符串值写入响应

MyHandler.ashx.cs:

/// <summary>
/// Summary description for MyHandler
/// </summary>
public class MyHandler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Write(context.Request.QueryString["cid"]);
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

使用 jQuery 获取客户端的价值:

        $.ajax({
            type: "GET",
            url: "MyHandler.ashx?cid=10",
            contentType: "text/plain",
            dataType: "text",
            success: function (data) {
                alert(data);
            }
        })
于 2012-10-01T14:44:46.460 回答