留言簿
留言成功,请等待站长审核,谢谢支持!
2014-11-13 10:29 陈英伟
杨老师您好,请问怎么实现,页面加载的时候不加载表格数据,等页面上输入一些信息后再异步加载表格数据(同时有几个表格需要加载数据并实现分页)。
回复:不知道您说的是哪个分页控件?如果是MvcPager,相当于Ajax搜索功能,请参看Ajax搜索示例。谢谢!
2014-11-12 16:46 刘龙斌
杨老师你好,例子都是把大数据传过去分页的,这样性能不高,能不能像平常那样只查询页容量的数据和总条数 传过去呢? 有这样的例子可以发我邮箱吗?谢谢 766434325@qq.com
回复:您好,分页控件和数据没有任何直接关系,怎么获取数据完全由您自己控制,另外示例中除了PagedDataSource等几个例子外,都是只获取当前页数据进行分页的,我不太明白您说的“大数据传过去分页”是怎么回事?谢谢!
2014-11-12 10:42 刘龙斌
杨老师你好,我是照着你的Ajax在线例子写的代码(MVCPager), public ActionResult Index(int? id) { var list = db.Select<Board>(new { Enabled = "=" }, new { Enabled = true }).ToPagedList(id ?? 1, 10); if (Request.IsAjaxRequest()) { return PartialView("TestListPartial",list); } return View("Index",list); } 前台<head>里引用<script src="~/Scripts/jquery-1.8.0.min.js"></script> <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>,其他的都一样,每次加载都会刷新页面,即执行return View("Index",list);(需要MVCPager.js文件吗?源码上没有)请问这是什么问题?
回复:您需要用 Html.RegisterMvcPagerScriptResource()方法来注册这段脚本库,请注意查看文档和示例。谢谢!
2014-11-11 22:21 杨康
就是过来支持一下杨老师的。
回复:非常感谢!
2014-11-10 15:42 BUG?
我配置文件的runtime如下 <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 但是VS真的会区分4.0.0.0和4.0.0.1我有点怀疑,我卸载掉nuget的dll,而用系统的4.0.0.1照样运行的好好的,但是用mvcpager我就非得卸载掉一个,哪有这样的,肯定有哪个地方错了。
回复:您好,您这里的newVersion和您当前使用的asp.net mvc程序集的版本一样吗?您不是说您的版本号是4.0.40804.0吗?这里应该设置为4.0.40804.0才对,也就是最高版本号。谢谢!
2014-11-07 15:35 技术菜鸟
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { op = GetParam("op"); if (op == "search" && op != "") { search(); } } set_queslist(); } private void set_queslist() { int record = btcq.GetListSch(soso_where).Tables[0].Rows.Count; AspNetPager1.RecordCount = record; set_page(); } /// <summary> /// 获取单页数据 /// </summary> private void set_page() { DataSet ds_ques = new DataSet(); ds_ques = btcq.GetListSch(AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize, soso_where, ord); if (ds_ques.Tables.Count > 0) { if (ds_ques.Tables[0].Rows.Count > 0) { repSchList.DataSource = ds_ques.Tables[0].DefaultView; repSchList.DataBind(); } else { repSchList.DataSource = ds_ques; repSchList.DataBind(); } } else { repSchList.DataSource = ds_ques; repSchList.DataBind(); } } protected void AspNetPager1_PageChanged(object sender, EventArgs e) { this.AspNetPager1.EnableUrlRewriting = true; if (op == "search") { if (Diqu != "" && Fei != "" && Time != "" && Attr != "" && GetParam("page") != "") { this.AspNetPager1.UrlRewritePattern = Diqu + "_" + Fei + "_" + Time + "_" + Attr + "_{0}.html"; } else if (Diqu != "" && Fei != "" && Time != "" && Attr != "" && GetParam("page") == "") { this.AspNetPager1.UrlRewritePattern = Diqu + "_" + Fei + "_" + Time + "_" + Attr + "_{0}.html"; } else { this.AspNetPager1.UrlRewritePattern = "{0}.html"; } }
回复:抱歉,留言簿留言有长度限制,您的留言被截断了,不知道您要说什么问题?谢谢!
2014-11-07 12:10 Eric
杨老师您好,如果数据量很大的情况下想使用MvcPager,能不能通过写存储过程或者直接写SQL statement,通过CurrentPageIndex当前的页码来取数据?就是跳到那一页,就select那一页的数据?
回复:您好,MvcPager和数据获取没有直接关系,您用什么方法获取数据都可以,这方面它和AspNetPager是一样的,请多了解一下它的工作原理。谢谢!
2014-11-06 21:29 Ethan_Jam
杨老师,你好,我有几个小问题想请教一下您,不知可以否? 1.请问使用您的控件如何为一个主视图中为多个分布式图进行分页?而且每个分布式图分页的数据互不影响? 2.为视图也指定类型是为主视图指定,还是给分布式视图指定?因为要考虑到结果使用的类型 3.如果是用Ajax异步分页,主视图是Html.RenderParitle,还是Render.Action? 仅此几个问题,麻烦老师解答一下,如果有实例那就更感谢老师,烦请发送到qiushuiwanyue@163.com,再次谢谢老师您的解答了,^_^
回复:您好,很抱歉我没有您说的这种例子,不过这和一个页面多个MvcPager的例子是一样的,至于用RenderPartialView还是RenderAction,那和MvcPager没有任何关系,您怎么实现都可以,只是要注意一个页面上存在多个MvcPager的情况下,每个MvcPager的页索引参数名称都不能相同,否则一个MvcPager分页,会导致当前页面上所有MvcPager同时分页。谢谢!
2014-11-06 18:03 Yeung
杨老师您好,我想问下MvcPager是每一次加载每一页都把数据一下全部select出来吗?数据量大的时候效率会低吗?
回复:您好,数据怎么获取和从哪里获取与MvcPager没有任何关系,这些完全由您自己控制。谢谢!
2014-11-06 14:07 Eric
杨老师你好,我想在一个视图里面实现分页,不用partialview可以吗? models下面的UserDBContext.cs下面这样写了个方法来查询数据库里的记录 public PagedList<Users> GetUsers(int page=1) { UserDBContext db = new UserDBContext(); PagedList<Users> res = db.Users.OrderBy(c => c.ID).ToPagedList(page, 10); using (SqlConnection connection = new SqlConnection(ConnectionStringLocalTransaction)) { using (SqlCommand cmd = connection.CreateCommand()) { connection.Open(); //先打开连接 cmd.CommandText = "select * from fp.PriceDistribution_bak20141104 order by ID";//sql语句 using (SqlDataReader sdr = cmd.ExecuteReader()) { try { while (sdr.Read()) { Users u = new Users(); u.ID = sdr.GetInt32(0); u.MinPrice = sdr.GetInt32(1); u.MaxPrice = sdr.GetInt32(2); res.Add(u); } } catch (System.Data.SqlClient.SqlException E) { sdr.Close(); connection.Close(); throw new Exception(E.Message); } finally { sdr.Close(); connection.Close(); } } } } return res; } 在controler里面 public ActionResult Index() { return View(db.GetUsers()); } 在view里面 <table style="width:60%;height:60%;" cellspacing="0"> <caption> </caption> <tr>
回复:您好,用不用partialview和数据没有任何关系,示例中就有不使用partialview的分页例子,请您下载参考一下。谢谢!