Ajax.BeginForm预加载数据

时间:2014-02-09 20:07:45

标签: ajax asp.net-mvc

我有Ajax.BeginForm

这个观点,一切都很好
<h2>Index</h2>

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

<div class="table-responsive" id="users">
</div>

但是,我有一个小问题。

现在,当我打开此页面时,没有包含数据的表格 - 只有在提交表单时才会加载

所以,我的问题是:是否可以预加载数据(不添加其他代码)?

当加载页面时,我希望所有数据都没有过滤(输入用于在键入值和提交表单时进行过滤)。

1 个答案:

答案 0 :(得分:1)

只需在页面加载时从Search div调用users操作即可。您不能指定任何参数或使用默认参数。我假设你有类似的东西:

public ActionResult Search(string q)
{
    var users = _usersRepository.GetAll();
    if(!string.IsNullOrEmpty(q))
        users = users.Where(user => string.Equals(user.Name, q));
    return PartialView("_Search", users);
}

在视图中:

<div class="table-responsive" id="users">
    @Html.Action("Search")
</div>