【发布时间】:2013-08-29 16:19:15
【问题描述】:
我有一个用于封装一些功能的 aspx 页面。这些函数在页面加载时调用,并由通过 jQuery 添加到 POST 请求的字符串变量选择。
我的问题是,如果 POST 请求由于某种原因不包含所需的 ID 号等,我该如何返回错误代码。
同样,我想知道我这样做是否正确(我有一个需要能够从列表中添加和删除 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
}
}
}
【问题讨论】:
-
为什么要使用 AJAX 调用来调用 .aspx 页面的
Page_Load?那不是破坏了 AJAX 调用的目的吗?如果您想要回发,那么只需在您的页面中使用服务器控件来进行回发(即AutoPostBack="True")。 -
对不起,不,我不想让我回发,我希望页面保持静态,并调用这个其他页面来影响原始数据,如果这有任何意义的话。
标签: c# asp.net http-post httpresponse http-error