在现有MVC3应用程序中添加AJAX部分需要做多少工作?

时间:2012-01-12 15:56:05

标签: c# asp.net ajax asp.net-mvc-3 solr

我有一个应用程序,它搜索存储在数据库中的图像并显示结果(带分页)。目前,每次加载下一页时,我们都会重新加载整个站点。因此,我们的网站明显缓慢。

我正在调查iStockPhoto并看到只加载了图片内容,而且他们的表现比我的好得多。

我正在使用Solr(对我而言似乎很慢......我失踪了什么?我认为Solr应该很快。哈哈)来存储和检索图像。

SO !!

我向你们提出的问题是,如果我想在下一页被击中时只允许刷新分页内容,我还有很多工作要做吗?例如更改控制器视图

非常感谢你!

这是我的代码:

<table>
<tr>
    <td>...</td> 
    <td valign="top" style="width: 100%">
        <div id="imageList" class="imageList">
            @Html.Partial("AssetManagerSelection", new FacetsWidget
                                        {
                                            SelectedFacetNodes = Model.Search.SelectedFacetNodes
                                        })
            @{
                var pagerInfo = new PaginationInfo
                {
                    PageUrl = Url.SetParameter("page", "!0"),
                    CurrentPage = Model.Search.PageIndex,
                    PageSize = Model.Search.PageSize,
                    TotalItemCount = Model.TotalCount,
                };
            }      
            @Html.Partial("AssetManagerPager", pagerInfo)
            @if (pagerInfo.CurrentPage <= pagerInfo.LastPage)
            {
                <ul class="thumbnailsList">
                    @{var thumbnailIndex = 1;}
                    @foreach (var item in Model.MatchingItems)
                    {
                        var thumbnailClass = string.Empty;
                        if (Model.Search.ThumbnailSize == CacheLevel.DetailsView)
                        {
                            thumbnailClass = "thumbnailImagesS";
                        }
                        else
                        {
                            thumbnailClass = "thumbnailImagesM";
                        }
                        <li>
                            <div class="@thumbnailClass">
                                @Html.Partial("ItemThumbnail", item)
                            </div>
                            @{thumbnailIndex++;}
                        </li>
                    }
                </ul>
                @Html.Partial("AssetManagerPager", pagerInfo)
            }
        </div>
    </td>
</tr>

0 个答案:

没有答案