Как обеспечить автоматическое заполнение в текстовом поле без использования расширения AJAX или веб-службы?

0

У меня есть текстовое поле в моей веб-форме. Я хочу связать это текстовое поле со столбцом "имя" в моей таблице базы данных. Я хочу, чтобы, когда пользователь будет вводить алфавиты в этом текстовом поле, тогда на основе данных, соответствующих алфавиту, предложение будет дано в раскрывающемся списке, как и любая другая поисковая система. Я хочу сделать это без использования Ajax Autocomplete extender или любых веб-сервисов. Я попытался сделать это через JQuery, но я сделал это со статическими именами. Я хочу, чтобы эти имена были получены из базы данных. пожалуйста, назовите меня, как я могу это сделать? aspx page-

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
      $(function () {
          var items = [
  "Argo",
  "Alex",
  "Mike",
  "Mark",
  "Joseph",
  "John",
  "Alex",
  "Marrie"
  ];
          $("#TextBox1").autocomplete({
              source: items
          });
            });
  </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <table>
    <tr>
    <td>Name:</td>
    <td>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
    </tr>
    </table>
    </div>
    </form>
</body>
</html>
Теги:
textbox
autocomplete

2 ответа

1
Лучший ответ

Вот как это может быть done-

<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
  <script type="text/javascript">
      $(function () {
      var items=[<%=autotag %>];
      $("#TextBox1").autocomplete({
      source:items
      });
      });
  </script>
<body>
    <form id="form1" runat="server">
    <div class="article" id="article">
    <table>
    <tr>
    <td>Name:</td>
    <td>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
    </tr>
    </table>
    </div>
    </form>
</body>

и в cs code-

public string autotag="";
    protected void Page_Load(object sender, EventArgs e)
    {
        bind1();
    }
    public void bind1()
    {

        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString);
        con.Open();
        string query="select name from tbl_data_show";
        SqlCommand cmd=new SqlCommand(query,con);
        SqlDataReader dr=cmd.ExecuteReader();
        dr.Read();
        while(dr.Read())
        {
            if(string.IsNullOrEmpty(autotag))
            {
                autotag+="\""+dr["name"].ToString()+"\"";
            }
            else
            {
                autotag+=", \""+dr["name"].ToString()+"\"";
            }
        }
    }
3

Если вы хотите, чтобы что-то читалось из базы данных, должен быть сценарий на стороне сервера, поэтому для этого вам понадобится webservice.

  • 0
    Да, я хочу прочитать имена из базы данных. Используйте его, чтобы дать пользователю подсказку в раскрывающемся списке, как в окне поиска Google. Сделав это, я смогу использовать автозаполнение в текстовом поле.
  • 1
    Вы должны ввести какой-либо вызов на стороне сервера в любом случае. В "Google Instant" также он делает вызов на стороне сервера при каждом нажатии клавиши.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню