[英]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.