簡體   English   中英

如何從asp.net中的處理程序返回對.aspx頁的響應

[英]How to return response to .aspx page from Handler in asp.net

我剛剛開始在asp.net中使用處理程序,但我有一個問題。 我有這樣結構的PostRequestPage.aspx頁面:

<asp:Label ID="lblTest" Text="Enter request" runat="server"></asp:Label>
    <br />
    <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
    <br />
    <span id="error"></span>
    <br />
    <input type="button" id="btnSubmit" name="btnSubmit" value="Send" />

然后使用這樣的ajax帖子將POST發送給處理程序:

$(document).ready(function () {
            $('#btnSubmit').click(function() {
                var txtEmail = '<%=txtEmail.ClientID%>';
                $.ajax({
                    type: "POST",
                    url: "HandlerWithPOST.ashx",
                    data: $('#' + txtEmail).val(),                       
                    dataType:"json",                   
                });
            });
        })

在處理程序中,我得到了POST數據:

using (var reader = new StreamReader(context.Request.InputStream))
                    {
 String requestFromPost = reader.ReadToEnd();
var result = JsonConvert.DeserializeObject<List<RootObject>>(requestFromPost);
}

然后,我處理我的數據並獲得我想返回到PostRequestPage.aspx頁面的響應:

String jsonResult = JsonConvert.SerializeObject(new { result = results });

問題是例如如何在標簽中顯示jsonResult?

您可以像這樣擴展ajax方法:

$.ajax({
    type: "POST",
    url: "HandlerWithPOST.ashx",
    data: $('#' + txtEmail).val(),                       
    dataType:"json",                   
    success: function (data) {
        // do some magic with your json data, like populating your label
    }   
});

看看jQuery.ajax()api: http : //api.jquery.com/jQuery.ajax/

用於將數據寫入響應嘗試

context.Response.Write(jsonResult)

也在寫集之前

context.Response.ContentType = "application/json";

您可以在上下文中編寫響應,並且可以在成功處理程序中針對ajax命中響應,如下所示:

context.Response.Write(jsonResult)

$.ajax({
type: "POST",
url: "HandlerWithPOST.ashx",
data: $('#' + txtEmail).val(),                       
dataType:"json",                   
success: function (data) {
    console.log("your data from handler is")

console.log(data ? data.d : null) }
});

謝謝,Abhishek S.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM