我沒有太多時間回答這個抱歉,所以這裏是我實現的代碼。希望這可以幫助你。如果沒有,請留言,我會盡力解釋它。
在視圖中;
function filterBy(filter) {
$.post("/Admin/jQueryUserFilter", { filterBy: filter }, function(newUserListHTML) {
$("#divUsers").fadeOut(300, function() {
document.getElementById("divUsers").innerHTML = newUserListHTML;
});
$("#divUsers").fadeIn(300);
});
}
<input type="submit" value="Find User" onclick="filterBy(document.getElementById('txtFor').value);return false;" />
在我的控制器;
public ActionResult jQueryUserFilter(string filterBy)
{
AdminRepository<User> adminRepository = new AdminRepository<User>();
IQueryable<User> users;
if (filterBy == "**all**")
users = adminRepository.All().OrderBy(x => x.userName);
else
users = adminRepository.All().Where(u => u.userName.StartsWith(filterBy)).OrderBy(x => x.userName);
return PartialView("UserList", users);
}
其實,只要看一眼它可能不會做這項工作的最佳方式。想想我被迫在當天完成它。需要重新寫我認爲。但是,嘿,它的作品。 – griegs 2009-09-28 22:12:55
事情是,jQuery網格已經提供了這個功能......它已經發送一個POST數組到控制器方法..它有一個JSON格式的filters屬性和執行搜索所需的數據......我不知道如何從C#方法中訪問Json數據。 – ignaciofuentes 2009-09-29 18:50:26
我的理解是,您將jQuery數據作爲參數傳遞給您的控制器。所以如果你有一組字符串,那麼每個字符串都在你的控制器方法中表示。很確定你也可以傳遞一個模型對象。 – griegs 2009-09-29 21:31:15