使用ajax调用返回Partial View



我想在Sitecore中的ajax调用中返回Partial View,我已经在使用web API了,我可以返回JSON对象,但我想用HTML:返回视图

[HttpGet]
public ActionResult StoreSearchResultsPartial()
                        {      
                  return PartialView("/views/components/StoreSearchResults.cshtml");
                }

我的ajax调用:

  var ajaxUrl = "/api/sitecore/components/StoreSearchResultsPartial"
        $.ajax({
            type: "GET",
            url: ajaxUrl,
            contentType: "application/json; charset=utf-8",
            success: function (result) {
                $("#searchResults").html(result);
            },
            error: function (result) {
            }
        });

我使用web API来实现其他功能,所以我添加了路由:

public void Process(PipelineArgs args)
    {
        var config = GlobalConfiguration.Configuration;
        RouteTable.Routes.MapHttpRoute(
                        name: "NamedActionApi",
                        routeTemplate: "api/{controller}/{action}/{id}",
                        defaults: new { id = RouteParameter.Optional }
                        ).RouteHandler = new SessionRouteHandler();
        config.Routes.MapHttpRoute("DefaultApiRoute",
                                 "api/{controller}/{id}",
                                 new { id = RouteParameter.Optional });

        config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
}

当我评论这个路由时,一切都很好。

现在工作正常,我更改了路由,以不是"api"的东西开始,所以我将这个api/{controller}/{action}/{id}更改为mywebapi/{controller}/{action}/{id},然后我可以调用:/api/sitecore/components/StoreSearchResultsPartial

最新更新