Статья: ASP.NET Atlas AJAX в исполнении Microsoft
/// </summary>
[WebMethod]
public string[] GetAutoCompleteList(string PrefixText, int count)
{
…
}
}
Этот метод будет возвращать список слов для автозаполнения. Важно отметить некоторую особенность этого метода, которая, может быть, связана только с тем, что Atlas сейчас все еще находится в стадии разработки. Дело в том, что для нормальной работы механизма автозаполнения сигнатура этого метода должна совпадать не только по количеству, типам и очередности параметров, но и по именам этих параметров. В противном случае метод будет получать null и 0 соответственно в качестве значений при вызове.
Реализация формы: ввод строки для поиска
Теперь переходим к самой интересной части – созданию работающей формы. В нашем вновь созданном проекте уже есть форма – откроем ее, и изучим структуру.
Первое, что мы видим, это следующий контрол:
<atlas:ScriptManager ID="ScriptManager1" runat="server" />
Для того чтобы понять, для чего он нужен, просто посмотрим на HTML формы, которую получит Internet Explorer. Таммынайдемследующуюстроку:
<script src="ScriptLibrary/Atlas/Debug/Atlas.js" type="text/javascript"></script>
А если мы посмотрим, что получить, например Mozila Firefox, то увидим что ScriptManager отрендерился две строки:
<script src="ScriptLibrary/Atlas/Debug/AtlasCompat.js" type="text/javascript"></script>
<script src="ScriptLibrary/Atlas/Debug/Atlas.js" type="text/javascript"></script>
То есть, этот контрол просто распознает тип браузера клиента и рендерится в строки подключения необходимых и совместимых скриптов, для работы Atlas.
Дадим этому контролу осмысленное название и перенесем его внутрь тэга <head>, чтобы он не путался под ногами в режиме дизайна формы:
<head runat="server">
<title>Untitled Page</title>
<atlas:ScriptManager ID="scriptManager" runat="server">
</atlas:ScriptManager>
</head>
Следующее, что мы видим в исходном тексте формы, это следующую конструкцию:
<script type="text/xml-script">
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
<references>
</references>