我有一個使用jquery自動填充插件的輸入。與此我想要返回5結果。我正在通過在即時消息使用的存儲過程中輸入5個返回結果來實現此目的,但我想刪除重複項,但仍顯示5個結果。林不知道去這樣做這個 最好的辦法在這裏是我的代碼背後回調頁面需要忽略自動填充框中的重複條目
Public Class SearchCallback
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Clear()
Dim searchText As String = Request("searchText")
Dim searchField As String = Request("searchField")
Dim dtCustomer As CustomerCollection = CustomerService.SearchRecords(searchText, searchField, "Contains", searchField, "Asc", CInt("1"), CInt("5"))
Dim returnString As String
If searchField = "Company" Then
For Each drCustomer As Customer In dtCustomer
If returnString = "" Then
returnString = drCustomer.Company
else
returnString = returnString & "," & drCustomer.Company
End If
Next
Response.Write(returnString)
我有後,有更多的searchfield選項列表給我我想要的數據。我把所需的信息放入一個字符串,所以我可以用我的JavaScript代碼如下所示。
$(document).ready(function() {
$(".searchTextBox").autocomplete({
source: callback,
autoFill: true
});
});
var callback = function (request, response) {
var searchText = request.term;
var searchField = $(".ddlist > option:selected").attr("value");
$.ajax({
type: "GET",
dataType: "text",
url: "SearchCallback.aspx?searchText=" + searchText + "&searchField=" + searchField,
success: function (data) {
var splitData = data.split(",");
response(splitData);
}
});
}
一切正常工作,所以我有..的重複問題,請幫助!
它有點混亂,但我得到它的工作,我想用下面的代碼
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Clear()
Dim searchText As String = Request("searchText")
Dim searchField As String = Request("searchField")
Dim lastValue As String
Dim resultsCounter As Integer = 0
Dim dtCustomer As CustomerCollection = CustomerService.SearchRecords(searchText, searchField, "Contains", searchField, "Asc", CInt("1"), CInt("100"))
Dim returnString As String
If searchField = "Company" Then
resultsCounter = 0
For Each drCustomer As Customer In dtCustomer
If returnString = "" Then
returnString = drCustomer.Company
lastValue = drCustomer.Company
resultsCounter += 1
ElseIf resultsCounter < 6 Then
If lastValue <> drCustomer.Company Then
returnString = returnString & "," & drCustomer.Company
lastValue = drCustomer.Company
resultsCounter += 1
End If
End If
Next
Response.Write(returnString)
您正在使用什麼樣的ORM框架的
這聽起來更像是SearchRecords方法中的數據訪問問題,您可以在LIMIT(5)之前使用DISTINCT來確保您需要。 – JOBG 2011-05-17 19:05:01