私はプログラミングにまったく慣れていませんが、JavaScript/jQuery に関してはほとんどが初めてです。私がここにいる理由は、オートコンプリートを使用した検索の解決策をインターネットで検索したからです/見つけたもののさまざまなバージョンを適用しようとしましたが、実際に機能する解決策にたどり着けません:)
これが私のコードです:
var mydata
$(document).ready(function ()
{
ConstructSuggestionArray();
$("[id$='txtSearchProject']").keypress(function ()
{
$("[id$='txtSearchProject']").autocomplete
({
source: mydata
})
})
});
function ConstructSuggestionArray()
{
$.ajax
({
url: 'ProjectManagement.aspx/ConstructSuggestionArray',
type: "POST",
data: {},
async: false,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (response)
{
if (response.d != null)
{
mydata = jQuery.parseJSON(response.d);
return true;
}
else
{
return false;
}
}
});
}
また、配列を構築するコードの一部:
public string ConstructSuggestionArray()
{
using (DataClassesDataContext context = new DataClassesDataContext())
{
List<Utils.ProjectsOfAUser> theProjects =
ReturnProjectsAccordingToAllocation(context);
string[] projectsNameArray = new string[theProjects.Count];
int index = 0;
foreach (Utils.ProjectsOfAUser oneProject in theProjects)
{
projectsNameArray[index] = oneProject.Name;
index++;
}
string strJSON = string.Empty;
JavaScriptSerializer objJSSerializer = new JavaScriptSerializer();
strJSON = objJSSerializer.Serialize(projectsNameArray).ToString();
return strJSON;
}
}
}
また、プロジェクトとasp.netページにスクリプトを追加しました。
私は非常に混乱しており、これを理解するのを手伝ってくれたらとても感謝しています.
言及: txtSearchProject - ASP コントロールです。
前もって感謝します。