2012-05-01 116 views
4

我是一个相对较新的MVC用户,并且很难在MVC中正常工作。部分视图的MVC分页

基本上我有其以局部视图中呈现的搜索结果的负载(使用开始像这样形式法):

using (Ajax.BeginForm("Search", "Home", new AjaxOptions 
{ 
    HttpMethod = "GET", 
    InsertionMode = InsertionMode.Replace, 
    UpdateTargetId = "searchResults", 
})) 
{ 
    <input type="text" name="searchString" /> 
    <input type="submit" value="Search" /> 
} 

和部分视图正是如此呈现:

@foreach (var item in @Model) 

{

<li>@Html.ActionLink(item.Name, "Result/" + item.Id, "Result")</li> 

} 

@{if(ViewBag.HasPrevious) 
    { 
     @Html.ActionLink("<<", "Search", new { searchString = ViewBag.query, page = ViewBag.CurrentPage-1 }) 
    } 
} 

@{if(ViewBag.HasNext) 
    { 
     @Html.ActionLink(">>", "Search", new { searchString = ViewBag.query, page = ViewBag.CurrentPage+1 }) 
    } 
} 

我的问题是,>>或< <链接只需创建一个带有结果列表的空白页面,并且不会保留“顶部”索引页面的标记。

有没有人有任何想法。

注意:本网站不是新手,我会向任何答案提出建议。

回答

6

Html.ActionLink生成正常的锚点。当你点击这个锚时,它只是将浏览器重定向到这个链接指向的地址。这就是您在新窗口中看到部分内容的原因。

如果你想只刷新页面的一部分,而不会重定向你可以使用一个AJAX链接(Ajax.ActionLink)代替:

@Ajax.ActionLink(
    "<<", 
    "Search", 
    new { 
     searchString = ViewBag.query, 
     page = ViewBag.CurrentPage - 1 
    }, 
    new AjaxOptions 
    { 
     HttpMethod = "GET", 
     InsertionMode = InsertionMode.Replace, 
     UpdateTargetId = "searchResults" 
    } 
) 
+0

,完美的工作的感谢! html和ajax链接有什么区别,以便我知道未来? –

+0

正常链接vs Ajax。 –