-1

我正在玩 C# 和 jQuery (Ajax)。为了在创建 Ajax 请求时尽可能保持 C# 代码简洁明了,而不使用 Encosia 示例(简而言之,没有用于 Ajax 调用的 ASP.NET)。响应可以是 XML、JSON 或纯(部分)HTML。

我有一个工作版本,但这样做更可取吗?还是我应该考虑其他方法?

我确实在 VS2010 express 中收到了 1 个警告(对于 ajax.aspx 页面)(搜索此错误并没有给我一个满意的答案

警告
验证():元素“html”出现的次数太少。

默认.aspx

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">

   <div id="Result"></div>

   <script type="text/javascript" language="javascript">
      $(function () {
         $.ajax({
            url: "AJAX.aspx",
            success: function (data) { $("#Result").html(data); }
         });
      });
   </script>
</asp:Content>

ajax.aspx(本页只有这一行)

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

ajax.aspx.cs

using System;
using System.Text;
using System.Data;

public partial class AJAX : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Clear();
        Response.Write("Hello world");
        Response.End();
    }
}
4

2 回答 2

0

就像错误所说的那样:您必须拥有<html>标签才能拥有有效的html文档。由于您的页面似乎没有使用母版页,因此可能没有呈现 html 标记。有短而简洁的,然后有太短了。

于 2013-10-24T07:49:08.463 回答
0

我认为您应该添加到代码中的一件事与 jQuery ajax 调用有关。您尚未明确指定所有设置。我使用以下内容为我的所有 ajax 调用设置默认值,可以在任何阶段被单个 ajax 调用覆盖:

        $.ajaxSetup({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            utilities.ajaxErrorAlert(XMLHttpRequest, textStatus, errorThrown);
        }
    });
于 2013-10-24T07:51:34.677 回答