DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> Ajax實現動態加載數據
Ajax實現動態加載數據
編輯:AJAX基礎知識     

前言:

1.這個隨筆實現了一個Ajax動態加載的例子。

2.使用.net 的MVC框架實現。

3.這個例子重點在前後台交互,其它略寫。

開始:

1.控制器ActionResult代碼(用於顯示頁面)

    /// <summary>
    /// 電話查詢頁面
    /// </summary>
    /// <returns></returns>
    public ActionResult PhoneSearch(string sql)
    {
      phoneList=從數據庫查詢數據;
      ViewBag.phoneList = phoneList;
      return View();
    }

2.前台頁面主要代碼

說明:這個就是要展示數據的表格,裡面的字段要和你建好的模型匹配。

<table border="1" cellspacing="0" cellpadding="0" class="toLang" id="phoneTable">
              <tr>
                <th>序號</th>
                <th>公司</th>
                <th>部門</th>
                <th>小組</th>
                <th>姓名</th>
                <th>職位</th>
                <th>電話</th>
              </tr>
              <tbody id="todeListTBODY">
                @if (ViewBag.phoneList != null)
              {
                foreach (var item in ViewBag.phoneList)
                {
                  number = number + 1;
              <tr>
                <td>@number</td>
                <td>@item.Conpany</td>
                <td>@item.Department</td>
                <td>@item.Team</td>
                 <td>@item.Name</td>
                 <td>@item.Position</td>
                 <td>@item.PhoneNumber</td>
                  </tr>
                }
              }
              </tbody>
            </table>

3.我的查詢條件

 <div style="display:block;float:left; width:100%; ">
          公司:
          <select class="InputTestStyle" id="company" onclick="initDeptSelect()">
            <option>==請選擇公司==</option>
          </select>
          部門:
          <select class="InputTestStyle" id="department" onclick="initGroupSelect()">
            <option>==請選擇公司==</option>
          </select>
          小組:
          <select class="InputTestStyle" id="group" onclick="QueryPhoneNum()">
            <option>==請選擇公司==</option>
          </select>
 </div>

4.查詢條件的初始化(以公司這個為例)

4.1前台的JavaScript代碼

  //打開頁面的時候執行
  window.onunload = initCompanySelect();
  //初始化“公司”下拉框
  function initCompanySelect()
  {
    $.ajax({
      type: 'POST',
      url: '/Home/GetCompantListForPhone',
      dataType: 'json',
      data: { },
      success: function (data) {
        //1.清空這個下拉框的數據
        // $('#company option').remove();//也能成功實現
        $('#company').empty();
        $("#company").append($('<option>' + '==請選擇公司==' + '</option>'));
        //2.將返回值動態加載進下拉框,動態生成標簽。
        for (i = 0; i < data.length;i++)
        {
          $("#company").append($('<option >' + data[i].Conpany + '</option>'));
        }
      },
      error: function (XMLHttpRequest, textStatus, errorThown) {
        alert("操作失敗!");
      }
    })
  }

4.2初始化下拉框對應的ActionResult代碼

/// <summary>
/// 獲取電話查詢公司下拉數據
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult GetCompantListForPhone()
{
  
  compantList = 從數據庫獲取這個下拉框數據的集合;
  return Json(compantList);
}

其它兩個下拉框按照這個辦法完成後。就可以根據條件查詢了。下面兩個是對用的JavaScript和後台方法。

5.傳查詢提交到後台,然後根據返回的集合重新給table賦值。

//根據條件查詢電話
  function QueryPhoneNum()
  {
    if ($('#group').val() == '==請選擇小組==')
    {
      return;
    }
    number = 0;
    $.ajax({
      type: 'POST',
      url: '/Home/PhoneSearchSubmit',
      dataType: 'json',
      data: {
        company:$('#company').val(),
        dept: $('#department').val(),
        group: $('#group').val()
      },
      success: function (phoneList) {
        //1.清空這個表格的數據
        $('#todeListTBODY tr').remove();
        
        //2.將返回值動態加載進表格。
        $.each(phoneList, function (index, element) {
          number = number + 1;
          $('#todeListTBODY').prepend(function (i) {
            return "<tr>" +
               "<td>" +number +
               "<td>" + element.Conpany +
               "<td>" + element.Department +
               "<td>" + element.Team +
               "<td>" + element.Name +
               "<td>" + element.Position +
               "<td>" + element.PhoneNumber +
               "</tr>";
          })
        })
      },
      error: function (XMLHttpRequest, textStatus, errorThown) {
        alert("操作失敗!");
      }
    })
  }

5.1與查詢數據對應的ActionResult

/// <summary>
/// 電話查詢
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult PhoneSearchSubmit(string company, string dept, string group)
{
  phoneList = 根據條件查詢數據;
  return Json(phoneList);
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved