Javascript 我们可以向用户控件(.ascx)发出ajax请求吗?

Javascript 我们可以向用户控件(.ascx)发出ajax请求吗?,javascript,asp.net,ajax,ascx,Javascript,Asp.net,Ajax,Ascx,我有一个包含用户控件的页面 我可以直接向控件发出ajax请求吗 我知道我可以向.aspx或.ashx发出ajax请求;但是,是否可以在ASP.NET MVC应用程序中直接转到.ascx?,是: public ActionResult Foo() { return PartialView(); } 然后发送AJAX请求: $('#someDiv').load('/home/foo'); 将加载div内的Foo.ascx局部视图 在经典的ASP.NET WebForms应用程序中,需要设

我有一个包含用户控件的页面

我可以直接向控件发出ajax请求吗


我知道我可以向.aspx或.ashx发出ajax请求;但是,是否可以在ASP.NET MVC应用程序中直接转到.ascx?

,是:

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 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; }
    }
}

您可以创建一个只包含usercontrol的简单ASPX页面。

您可以创建一个只包含usercontrol的简单ASPX页面。

m在经典asp.net上编写意味着不设置处理程序就不可能?设置处理程序或只包含此控件的ASPX页面。m在经典asp.net上编写意味着不可能可以不设置处理程序吗?设置处理程序或只包含此控件的aspx页面。我认为这是首选方法。我认为这是首选方法。