留言簿
留言成功,请等待站长审核,谢谢支持!
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的分页例子,请您下载参考一下。谢谢!