Автозаполнение jquery в asp.net, исходный код - PullRequest
1 голос
/ 29 марта 2012

Хотя на этом форуме много кода автозаполнения jquery.Однако я не нашел ничего подходящего для моего случая на веб-странице SharePoint / ASP.NET.Я перешел по ссылке jquery autocomplete .Это полезноНо, пожалуйста, посмотрите на

Мой код:

<asp:Content ID="PageHead" ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script>  
<script type="text/javascript">
    $(document).ready(function () {
        $("asp:TextBox#TextBox3").autocomplete({
            source: ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"]
        });
    });

</script>
 </asp:Content>

<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
<table>
      <tr><td>
        <asp:Label ID="Label4" runat="server" Text="Qode"></asp:Label></td><td>
           <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>

        </td></tr>
</table>

Вопрос

1. Can I use the code ` $("asp:TextBox#TextBox3")?`
2. If the source comes from code behind instead of hard copy strings, how to do it?

Скажем так:

        string[] source = new string[5];
        source[0] = "c++";
        source[1] = "java";
        source[2] = "php";
        source[3] = "coldfusion";
        source[4] = "javascript";

Тогда какпередать массив в код JQuery?Большое спасибо.

1 Ответ

3 голосов
/ 30 марта 2012

Что касается вашего первого вопроса, если вы используете ASP.net версии 4 или выше, вы можете установить ClientIDMode текстового поля в «static», и это заставит сервер отображать ClientID таким же, какидентификатор сервера.Затем вы можете ссылаться на него в коде jQuery.

Пример.

<asp:TextBox ID="TextBox3" runat="server" ClientIdMode="static"> `

$("#TextBox3")  // select your text box with standard jQuery id selector

Если вы используете старую версию ASP.netВы можете вставить серверный код в ваш .aspx для доступа к динамическому сгенерированному идентификатору клиента.Вы также добавили бы это к своему селектору jQuery, но это было бы немного по-другому.

$("#<%= Textbox3.ClientID %>")

Это должно отобразить правильный идентификатор клиента в браузере и обрабатываться jQuery.Что касается вашего второго вопроса, лично я бы сериализовал массив в JSON и отправил его в jQuery.Хорошая библиотека для этого - Json.Net (http://json.codeplex.com/),, в которой приведены примеры использования библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...