2009-09-28 76 views
0

我跟着Phil Haack's tutorial和一切工作正常,但現在我想在我的網格中實現搜索過濾器,我注意到它發送過濾器字符串屬性與我的搜索字符串到我的控制器,但其以json格式...我不知道如何獲取值,並使用它們來實現我的搜索功能...,我使用LINQ到SQL ....請幫助幫助在asp.net中的jQuery網格mvc

現在我只是想實現一個按公司名稱搜索功能。 我有一個公司LINQ到SQL模型。 我想搜索使用SQL Like ...所以如果我有一個公司的名稱爲「福特」,我輸入「For」它應該找到公司福特,並將其返回到網格。

回答

0

我沒有太多時間回答這個抱歉,所以這裏是我實現的代碼。希望這可以幫助你。如果沒有,請留言,我會盡力解釋它。

在視圖中;

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); 
} 
+0

其實,只要看一眼它可能不會做這項工作的最佳方式。想想我被迫在當天完成它。需要重新寫我認爲。但是,嘿,它的作品。 – griegs 2009-09-28 22:12:55

+0

事情是,jQuery網格已經提供了這個功能......它已經發送一個POST數組到控制器方法..它有一個JSON格式的filters屬性和執行搜索所需的數據......我不知道如何從C#方法中訪問Json數據。 – ignaciofuentes 2009-09-29 18:50:26

+0

我的理解是,您將jQuery數據作爲參數傳遞給您的控制器。所以如果你有一組字符串,那麼每個字符串都在你的控制器方法中表示。很確定你也可以傳遞一個模型對象。 – griegs 2009-09-29 21:31:15