1

I have an aspx page I'm using to encapsulate a few functions. These functions are called in the page load, and selected by a string variable added to the POST request via jQuery.

My question is, how do I return an error code if, say, the POST request for some reason doesn't contain the required ID number, etc.

同様に、私がこれを正しく行っているかどうかを知りたいです (私は、リストから ID を追加および削除する機能を必要とするフォームを持っています。私はこのページからセッションを操作することによってこれを行っています。 jQuery からの呼び出し)。

私がこれまでに持っているもの:

呼び出しページ:

    function addItem(code) {
        $("#SubtypeTextbox").load(
            "../../src/ajax/Subtype.aspx",
            {
                Action: "Add",
                SID: code
            }
        );
    }

そして呼び出されたページの aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Scripts_ajax_Subtype : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Form["Action"] == null)
        {
            Response.Clear();
            Response.StatusCode = 409;
            Response.TrySkipIisCustomErrors = true;
            Response.Write("<p class=\"Errors\">Action is required.</p>");
        }
        else if (Request.Form["SID"] == null)
        {
            Response.Clear();
            Response.StatusCode = 409;
            Response.TrySkipIisCustomErrors = true;
            Response.Write("<p class=\"Errors\">Subtype ID is required.</p>");
        }
        else
        {
            //Execute request
        }
    }
}
4

1 に答える 1

1

ASP.NET AJAX ページ メソッドを調査することをお勧めします。これらは基本的に、次のように ASP.NET ページ内でホストされる Web サービスです。

[WebMethod]
public static string GetDate()
{
    return DateTime.Now.ToString();
}

次のように、jQuery を介してページ メソッドを呼び出すことができます。

$.ajax({
    type: "POST",
    url: "YourPage.aspx/GetDate",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
        // Do something interesting here.
    }
});

注: ASP.NET AJAX ページ メソッドは静的である必要があり、クラスのインスタンスはありませんが、ページ メソッドを正しく装飾した場合Page、オブジェクトにアクセスできません。HttpContext.Current.Session

最後に、ASP.NET AJAX ページ メソッドはそれらの応答を JSON エンコードします。これにより、自動的に行われるため、ページ メソッドにシリアル化コードが表示されなくなります。

于 2013-08-27T04:07:41.497 に答える