簡體   English   中英

我們可以向用戶控件(.ascx)發出ajax請求嗎?

[英]Can we make an ajax request to a usercontrol (.ascx)?

我有一個包含用戶控件的頁面。

我可以直接向控件發出Ajax請求嗎?

我知道我可以向.aspx或.ashx發出ajax請求; 但是,可以直接轉到.ascx嗎?

在ASP.NET MVC應用程序中,是:

public ActionResult Foo()
{
    return PartialView();
}

然后發送AJAX請求:

$('#someDiv').load('/home/foo');

將在div中加載Foo.ascx部分視圖。

在經典的ASP.NET WebForms應用程序中,您將需要設置一個通用處理程序,以將用戶控件的內容呈現到響應中。 這是可以使用的通用處理程序的示例:

public class Handler1 : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        using (var writer = new StringWriter())
        {
            Page pageHolder = new Page();
            var control = (UserControl)pageHolder.LoadControl("~/foo.ascx");
            pageHolder.Controls.Add(control);
            context.Server.Execute(pageHolder, writer, false);
            context.Response.ContentType = "text/html";
            context.Response.Write(writer.GetStringBuilder().ToString());
        }
    }

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

您可以創建一個簡單的ASPX頁面,其中僅包含用戶控件。

暫無
暫無

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

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