我有一個包含用戶控件的頁面。我們可以向usercontrol(.ascx)發出ajax請求嗎?
我可以直接向控件發出ajax請求嗎?
我知道我可以對.aspx或.ashx做一個ajax請求;但是,是否可以直接訪問.ascx?
我有一個包含用戶控件的頁面。我們可以向usercontrol(.ascx)發出ajax請求嗎?
我可以直接向控件發出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; }
}
}
在經典的asp.net m wrking意味着不可能沒有設置處理程序? – vakas 2010-07-28 05:30:53
設置一個處理程序或僅包含此控件的aspx頁面。 – 2010-07-28 05:36:46