• ASP .NET MVC 查询数据的进度条


    1、在Visual Studio中的ASP.NET MVC Web应用程序中创建应用程序

     
    转到文件菜单>新建>项目
     
    选择ASP.NET Web应用程序(.NET Framework)并更改应用程序名称:例如,ProgressWebsite,然后单击“确定”。
     
    选择“ MVC”>“现在”,将使用默认的ASP.NET MVC模板创建MVC Web应用程序项目。
    2、新建一个Model ————> EMPLOYEE
        public class EMPLOYEE
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string FatherName { get; set; }
            public string Gender { get; set; }
            public string Address { get; set; }
            public string Phone { get; set; }
            public string MobileNo { get; set; }
        }

    3、创建一个实体类EmployeeContext

        public class EmployeeContext : DbContext
        {
    
            public EmployeeContext() : base("EmployeeContext")
            {
            }
    
            public DbSet<EMPLOYEE> EMPLOYEE { get; set; }
    
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            }
        }

    注意要在Web.config里面加ConnectionStrings节点

    <connectionStrings>
        <add name="EmployeeContext" connectionString="Data Source=IT-112;Initial Catalog=wgz;Integrated Security=True" providerName="System.Data.SqlClient" />
      </connectionStrings>

    4、创建一个控制器ProgressController

    public class ProgressController : Controller
        {
            // GET: Progress
            public ActionResult Index()
            {
                return View();
            }
    
            EmployeeContext db =new EmployeeContext();
    
            public ActionResult Emp_Display()
            {
                var rec = db.EMPLOYEE.ToList();
                return View(rec);
            }
    
            [HttpPost]
            [System.Web.Services.WebMethod]
            public JsonResult GetText()
            {
                EmployeeContext db = new EmployeeContext();
                var rec = db.EMPLOYEE.ToList();
                var serializer = new JavaScriptSerializer()
                {
                    MaxJsonLength = Int32.MaxValue
                };
                // Perform your serialization  
                serializer.Serialize(rec);
                return Json(rec, JsonRequestBehavior.AllowGet);
            }
        }

    5、创建视图Emp_Display

    @model IEnumerable<ProgressBar.Models.EMPLOYEE>
    
    <script src="https://lib.sinaapp.com/js/jquery/2.2.4/jquery-2.2.4.min.js"></script>
    <h3>进度条</h3>
    <div class="progress">
        <div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="" aria-valuemin="0" aria-valuemax="100" id="lblStatus">
        </div>
    </div>
    <h3 id="h3"></h3>
    <table class="table">
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.Name)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.FatherName)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Gender)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Address)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Phone)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.MobileNo)
            </th>
        </tr>
    
        <tbody class="tbody" id="tbody"></tbody>
        
    </table>
        <tbody id="test">1111</tbody>
    <p>dsadasdsdasd</p>
    <p id="myh1"></p>
    <p id="myp1"></p>
    <script>
        
       $(document).ready(function () {
            var count = 0;
            var html = '';
            
            $(".progress-bar").attr("aria-valuenow", "0");
            $.ajax({
                type: "POST",
                url: "../Progress/GetText",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: false,
                success: function (result) {
                    $.each(result, function (key, item) {
                        $('.table').hide();
                        html += '<tr>';
                        html += '<td>' + item.Name + '</td>';
                        html += '<td>' + item.FatherName + '</td>';
                        html += '<td>' + item.Gender + '</td>';
                        html += '<td>' + item.Address + '</td>';
                        html += '<td>' + item.Phone + '</td>';
                        html += '<td>' + item.MobileNo + '</td>';
                        html += '</tr>';
                        var myVar = setTimeout(updateProgress,10, ++count, result.length, html);
                        html = "";
                    });
                    $('.table').show();
                },
                error: function (errormessage) {
                    $("#h3").text(errormessage.responseText);
                    return false;
                }
            });
            var count = 1;
    
            function updateProgress(count, max, html) {
                $("#h3").text(count + " Records loaded successfully");
                if (count <= max) {
                    count1 = parseInt(count / (max / 100));
                    var lblStatus = document.getElementById("lblStatus");
                    lblStatus.style.width = count1 + "%";
                    $("#lblStatus").text(count1 + '% Complete');
                    $("#tbody").append(html);
                    
                }
            }
        }); 
    </script>

    Ps:1、要记得往数据库内插入数据,但是数据太多的话就会出现”使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。“,所以数据量10000条先看看效果吧;

    2、用的google得js连接不上,所以换成了新浪的;

    3、效果图如下

     原文连接:https://www.c-sharpcorner.com/article/progress-bar-in-asp-net-mvc/

  • 相关阅读:
    深入理解虚拟机、容器和Hyper技术
    Hyper:基于Hypervisor的容器化解决方案
    iSCSI 在Linux下的模拟实验
    C-RAN
    spring mvc
    DUBBO
    ajax跨域请求 小栗子 jsonP
    freemarker 页面静态化 简单小栗子
    ajax上传图片监听
    代码优化 粘贴
  • 原文地址:https://www.cnblogs.com/zuiailiuruoying/p/13454308.html
Copyright © 2020-2023  润新知