留言簿
2005/11/1 11:06:00 sdm68
上次我提的问题谢谢您的回复。现在又有个问题还是弄不明白。
根据您上次的提示我把程序改写一下。每页显示的信息数正常显示,但点击其他页的时候主页的信息没有变化请帮我看看是怎么回事。
下面是代码:
private void Page_Load(object sender, System.EventArgs e)
{
int id = Convert.ToInt32(Request.QueryString["id"]);
int count = ArListCount.SelectCount(id);
AspNetPager1.RecordCount = count;
if(AspNetPager1.RecordCount==0)
{
nolist.Text="----本版块还未添加主题----";
}
else
{
DataSet ListDS = new DataSet();
int pageindex=AspNetPager1.PageSize*(AspNetPager1.CurrentPageIndex-1);
int pagesize=AspNetPager1.PageSize;
ListDS = ArList.SelectMotifInfo(id ,pageindex , pagesize , "ListTable");
Arlist.DataSource = ListDS.Tables["ListTable"];
Arlist.DataBind();
}
}
public DataSet SelectMotifInfo(int id ,int pageindex , int pagesize , string myTable)
{
string Sql ="Select * from ArticleList where ArticleType = '0' and ArticleParent = '"+ id + "' order by ArticleState desc,ArticleID desc";
return ExecutePageSize(Sql , pageindex , pagesize , myTable);
}
public DataSet ExecutePageSize(string Sql , int pageindex , int pagesize ,string MyTable)
{
SqlDataAdapter myDa = new SqlDataAdapter(Sql , myConn);
try
{
myConn.Open();
DataSet myDs = new DataSet();
myDa.Fill(myDs , pageindex , pagesize , MyTable);
return myDs;
}
catch
{
return new DataSet();
}
finally
{
myDa.Dispose();
myConn.Close();
}
}
根据您上次的提示我把程序改写一下。每页显示的信息数正常显示,但点击其他页的时候主页的信息没有变化请帮我看看是怎么回事。
下面是代码:
private void Page_Load(object sender, System.EventArgs e)
{
int id = Convert.ToInt32(Request.QueryString["id"]);
int count = ArListCount.SelectCount(id);
AspNetPager1.RecordCount = count;
if(AspNetPager1.RecordCount==0)
{
nolist.Text="----本版块还未添加主题----";
}
else
{
DataSet ListDS = new DataSet();
int pageindex=AspNetPager1.PageSize*(AspNetPager1.CurrentPageIndex-1);
int pagesize=AspNetPager1.PageSize;
ListDS = ArList.SelectMotifInfo(id ,pageindex , pagesize , "ListTable");
Arlist.DataSource = ListDS.Tables["ListTable"];
Arlist.DataBind();
}
}
public DataSet SelectMotifInfo(int id ,int pageindex , int pagesize , string myTable)
{
string Sql ="Select * from ArticleList where ArticleType = '0' and ArticleParent = '"+ id + "' order by ArticleState desc,ArticleID desc";
return ExecutePageSize(Sql , pageindex , pagesize , myTable);
}
public DataSet ExecutePageSize(string Sql , int pageindex , int pagesize ,string MyTable)
{
SqlDataAdapter myDa = new SqlDataAdapter(Sql , myConn);
try
{
myConn.Open();
DataSet myDs = new DataSet();
myDa.Fill(myDs , pageindex , pagesize , MyTable);
return myDs;
}
catch
{
return new DataSet();
}
finally
{
myDa.Dispose();
myConn.Close();
}
}
回复:您好,您是通过什么方式分页的呢?怎么没有PageChanged事件处理程序的代码?谢谢!
2005/10/31 16:56:00 七匹狼
吴老师,您好,我用您的分页控件,一直没有问题,但现在有个特殊情况,分页时显示的是全部数据
我用了一个视图统计每个员工月的工资,SQL如下
select member.id,member.uid,prizelist.p_month,sum(prizelist.prizeall) from member inner join prizelist on member.uid=prizelist.uid group by uid,m_a
结果如下:
ID 员工号 月份 工资
1 小张 1 1900
2 小胡 1 2600
3 小李 2 1800
1 小张 2 2600
......
我用aspnetpager分页时,条件是当月的,查是选择1月份时,竟然连2月的也列出来了,我看了一下原来我用的标识是用户ID,但生成视图后,用户ID就有相同的,有什么办法能解决这个问题吗,谢谢
我用了一个视图统计每个员工月的工资,SQL如下
select member.id,member.uid,prizelist.p_month,sum(prizelist.prizeall) from member inner join prizelist on member.uid=prizelist.uid group by uid,m_a
结果如下:
ID 员工号 月份 工资
1 小张 1 1900
2 小胡 1 2600
3 小李 2 1800
1 小张 2 2600
......
我用aspnetpager分页时,条件是当月的,查是选择1月份时,竟然连2月的也列出来了,我看了一下原来我用的标识是用户ID,但生成视图后,用户ID就有相同的,有什么办法能解决这个问题吗,谢谢
回复:您好,这个问题可以用表变量或临时表来解决,在临时表或表变量中建一个自动增长的字段来做为记录的唯一标识,您可参考我的存储过程生成工具生成的分页存储过程。谢谢!
2005/10/31 14:56:00 ftpy
我的目录结构
root--
|---loginA.aspx
|---WEB.aspx
|-------------------sub
|--loginB.aspx
|--subweb.aspx
root包含sub,我想要的结果是当用户没有登陆的时候 访问root下的页面 回到loginA.aspx
而访问sub子目录的时候转到loginB.aspx
也就是他们的访问权限不同 而且转到的登陆页面 也不同!
用from验证如何写??Web.config该如何设置哪???
谢谢您
root--
|---loginA.aspx
|---WEB.aspx
|-------------------sub
|--loginB.aspx
|--subweb.aspx
root包含sub,我想要的结果是当用户没有登陆的时候 访问root下的页面 回到loginA.aspx
而访问sub子目录的时候转到loginB.aspx
也就是他们的访问权限不同 而且转到的登陆页面 也不同!
用from验证如何写??Web.config该如何设置哪???
谢谢您
回复:您好,Forms验证方式只能有一个登录页面,如果您要实现不同的权限从不同的页面登录,那么只能自己写代码,无法通过配置web.config而实现,一般来说,一个登录页面就可以了,您可以考虑改变一下您的实现方式。谢谢!
2005/10/28 0:21:00 钟红
请问你写的这个分页控件用Oracle的存储过程可以吗?
回复:您好,这个分页控件和用什么数据库没有关系,所以和用什么存储过程也没有关系。谢谢!
2005/10/27 11:32:00 飞天
请教吴老师一个子父表AspNetPager分页的存储过程。
表结构如下
Type表
TyId TypeName
product 表
PrID TyID ProductName
显示的内容格式为: "ProductName(TypeName)"
表结构如下
Type表
TyId TypeName
product 表
PrID TyID ProductName
显示的内容格式为: "ProductName(TypeName)"
回复:内容太长了,留言簿中无法回复,已发到您的邮箱中,如有问题请联系。谢谢!
2005/10/26 15:06:00 溜达
你好:看到你用过Dundas Chart做统计图的控件。请教一下,Chart1设的With="1900px" Height="350px",此时Chart1中的ChartArea(图的那部分)占的大小能不能再大点?怎么设ChartAreas的长和高? <ChartAreas With="1200px">是错的。谢谢
回复:您好,从属性名上就可以看出来,ChartAreas是包含多个ChartArea的集合,而不是一个ChartArea,ChartArea没有设置设置高度和宽度的属性,但可以通过它的Position属性来指定它的位置及大小。谢谢!
2005/10/24 14:08:00 negy
您好,是控件的问题,分页控件和通过Url分页时需要保持原来url中的所有参数,在页面初次加载时会将页面中url中所有的参数获取后添加到新生成的分页连接中,因为没有判断是否是双字节字符,在对双字节字符获取参数值时进行了解码而将其添加到自动生成的分页连接url后却没有再编码,不过虽然url中的中文参数显示出了原形,但并不影响程序的运行,获取参数值时也不会出错。谢谢!
***********************************************************************************
谢谢版主的回复,我的问题已经解决,利用Request.Path和Request.QueryString分别取,进行URL编码。版主说的没错,参数值取出来没错,但是一旦双字节字符多了后,页面跳转回来就会出现解码的错误。谢谢版主提供这个控件,期待新版本:)
***********************************************************************************
谢谢版主的回复,我的问题已经解决,利用Request.Path和Request.QueryString分别取,进行URL编码。版主说的没错,参数值取出来没错,但是一旦双字节字符多了后,页面跳转回来就会出现解码的错误。谢谢版主提供这个控件,期待新版本:)
回复:谢谢,我记下这个问题,下一次升级想法改进!
2005/10/24 12:52:00 sdm68
为什么分页控件中显示的各项数值都正确,如:记录总数,总页数,当前页数,URL里的PageSize数值都正确,可就是在DataGrid中显示所有信息,而不是按PageSize设置的值来显示信息量
回复:您好,请看我对上一个问题的回复,分页控件不会帮您自动获取当前页的数据,这个需要您自己实现。谢谢!
2005/10/24 12:11:00 sdm68
版主你好:
我用了你的个分页控件,可是有些问题。绑定好数据后在不管设置PageSize的值是多少它总是把所有的信息显示出来,记录总数显示正确可总页数不对。还有向后翻页没有作用,在URL里显示的的PageSize的参数是正确的但也面里显示的没有变化。
你能写个比较简单的示例让我看看,最好把注释写详细点。
我用了你的个分页控件,可是有些问题。绑定好数据后在不管设置PageSize的值是多少它总是把所有的信息显示出来,记录总数显示正确可总页数不对。还有向后翻页没有作用,在URL里显示的的PageSize的参数是正确的但也面里显示的没有变化。
你能写个比较简单的示例让我看看,最好把注释写详细点。
回复:您好,把所有数据显示出来是因为在绑定数据时把所有数据都绑上去了,而不仅仅是当前页要显示的数据,请注意AspNetPager分页控件和DataGrid分页的区别,AspNetPager分页控件和要显示的数据是没有直接关系的,它不能帮您过滤数据,您不能指望把数据全绑上去然后设置分页控件的PageSize属性就让它象DataGrid一样自动帮您筛选当前页的数据,您必须自己把当前页的数据取出来然后绑定到数据显示控件上,这可以通过存储过程或SQL语句或者DataAdapter填充DataSet时实现,请参考控件所带的示例。谢谢!
2005/10/21 17:31:00 ftpy
就一个WesternByteMyBlog.dll并且放在bin文件夹里,是引用"WesternByte.MyBlog.Core.Essay"的WesternByte.MyBlog.Blog.view类和WesternByte.MyBlog.Core.Essay不在一个文件夹里,也就是说在WesternByte.MyBlog下有两个不同文件夹Core和Blog,那么Blog里的view类引用Core里的Essay类,这样写可以不可以?using WesternByte.MyBlog.Core.Essay;namespace WesternByte.MyBlog.Blog
{
public class View : System.Web.UI.Page
{
protected EssayDAO eDAO = new EssayDAO();
谢谢!
{
public class View : System.Web.UI.Page
{
protected EssayDAO eDAO = new EssayDAO();
谢谢!
回复:您好,只要添加了对指定程序集的引用并且正确引入了命名空间,那么就不应该出现问题,您上面的代码是正确的。谢谢!
