本次改动非常大,已和先前版本完全不兼容,所以升级的朋友注意一下,请看我的主页上关于本次升级新增和改动的功能,因为改动太大,所以可能有自己没有发现的bug以及一些需要改进的功能等,希望大家试用时能提供意见和建议给我,我会尽快正以发布正式版。谢谢支持!升级说明及下载: http://www.webdiyer.com
解决方案 »
- websphere的ssl,不用https访问websphere?
- 我做了一个用户控件,传过索引值过去,可为什么接收不到新的修改值呢
- 如何去掉网页打印时候留在下的URL地址
- 新手问题——无法刷新
- 谁下了VS2005 180天版本的..帮忙给我传大概7M的文件..高分
- 数据库连接的问题以及css!裸体365度露jj跪求
- 编程过程中遇到一个赋值问题,大家帮帮忙
- 为什么用户控件在设计与使用时的显示不一样?
- 请高手帮忙看一下,我想做datagrid的sorting出现错误!谢谢
- 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。在线等,谢谢!
- IE7.0用后遇到此问题.
- 关于写日志文件的同步问题
(以“爱”最为查询条件)。还有一种 postback得分页形式,演示网址:http://www.1380000.com/count/Spider.aspx
(这是一个流量统计的程序。也打算在近期内共享源码!)
此安装程序需要.net framework版本1.14322,请安装后重新运行此安装程序
看了半天才看懂,只不过是在一个列表的上下两面都有分页导航(就是上一页下一页),这也不用加两个控件呀。你们都是这么解决的吗?
我会使用javascript 的方式解决。1、添加一个控件。2、把这个控件放到div(div1)里面。div1放在列表的上面3、在列表的下面再放一个空的div(div2)。4、填写javascript 脚本,在onload里面执行。5、提取div1里面的 内容(innerHTML),放到div2里面。6、完成。这样不就可以了嘛。为什么还要放两个控件呢?为什么还要加个CloneFrom属性??
ps:我的这种方法在我的分页控件里已经试验过,是可以的。
QQ:381991787
Email:[email protected]
我以前对你的前面的一个版本有一个修改,增加了一个StrPre的属性,如果StrPre不存在或为空时,不启用重写,如果StrPre = "c",则自动改变url的输出为c_para1_para2.aspx的格式。
/// 为UrlRewriting时增加可选参数, StrPre的值将成为重写时的前缀,如果值为空或不存在则表示不启用url重写。
/// </summary>
[Browsable(true),
Category("分页"),
DefaultValue(""),
Description("url rewriting时的前缀")]
public string StrPre
{
get
{
object obj = ViewState["StrPre"];
return (obj == null) ? "" : (string)obj;
}
set
{
ViewState["StrPre"] = value;
}
}2)修改BuildUrlString以变更url的输出格式,调用StrPre参数以便可以用户在aspx页面修改重写字符前缀 /// <summary>
/// 当使用Url分页方式时,在当前Url上加入分页参数,若该参数存在,则改变其值。
/// </summary>
/// <param name="col">要加入到新Url中的参数名和值的集合。</param>
/// <returns>分页导航按钮的超链接字符串,包括分页参数。</returns>
private string BuildUrlString(NameValueCollection col)
{
int i;
string tempstr="";
if(urlParams==null||urlParams.Count<=0)
{
for(i=0;i<col.Count;i++)
{
tempstr+=String.Concat("&",col.Keys[i],"=",col[i]);
}
return String.Concat(currentUrl,"?",tempstr.Substring(1));
}
NameValueCollection newCol=new NameValueCollection(urlParams);
string[] newColKeys=newCol.AllKeys;
for(i=0;i<newColKeys.Length;i++)
{
newColKeys[i]=newColKeys[i].ToLower();
}
for(i=0;i<col.Count;i++)
{
if(Array.IndexOf(newColKeys,col.Keys[i].ToLower())<0)
newCol.Add(col.Keys[i],col[i]);
else
newCol[col.Keys[i]]=col[i];
}
StringBuilder sb=new StringBuilder(); if (StrPre != "")
{
for (i = 0; i < newCol.Count; i++)
{
sb.Append("_" + newCol[i]);
}
string sbtostring = sb.ToString().Substring(1) + ".aspx";
sbtostring = StrPre + "_" + sbtostring;
//string url = System.Web.HttpContext.Current.Request.RawUrl.ToLower();
currentUrl = currentUrl.Substring(0, currentUrl.LastIndexOf("/")) + @"/";
return String.Concat(currentUrl, sbtostring);
//return String.Concat(url, "", sbtostring);
}
else
{
for (i = 0; i < newCol.Count; i++)
{
sb.Append("&");
sb.Append(newCol.Keys[i]);
sb.Append("=");
sb.Append(newCol[i]);
}
return String.Concat(currentUrl, "?", sb.ToString().Substring(1));
}
}
用脚本实现不了的,而且就算能实现了,也比拖一个控件设置一个属性要麻烦多了,更何况不是谁都熟悉脚本的。谢谢!to rosanshao(罗三少):
源代码正式发布时一块发布to zhangyunjian1(赚钱吧) :
能否详细说下什么样的问题?比如什么样的url,重写后要变成什么样的url,发现什么样的问题等?谢谢!
升级很简单,注意两点就行了:
1、如果用过ChinesePageIndex属性,那么去掉它,这个属性基本上没人用过,也不适合控件国际化,所以我去掉了;
2、修改PageChanged事件处理程序,把其中的PageChangedEventArgs参数改为EventArgs,然后把方法中给AspNetPager的CurrentPageIndex赋值的代码删除,类似于
aspnetpager1.CurrentPageIndex=e.NewPageIndex;这行代码删除就行了,其它不变。用vs2005或任何文本编辑器,比如editplus或ultraedit等的查找/替换功能一般项目一两分钟就改完了。谢谢!
谢谢 saveglobe(人上了三十怎么感觉一天天老了?) 和 zhangyunjian1(赚钱吧) 提出意见和建议,我测试一下你们说的问题再回复。你们的意思就是在设置UrlRewritePattern时没法设置除页索引参数外的其它参数的重写格式吗?谢谢!
*************************************************************也没什么,因为在实际的使用中,使用url分页时,往往url传递的参数可能不止一个,可能有两个、三个或更多。
因为没有细看你的新版本,只是感觉你在控件中使用string的匹配来解决url重写时的参数传递稍显笨拙一点(^:^),所以把我以前对AspNetPager的修改说出来供楼主参考。意见提得不好,请勿见笑
http://www.valca.cn/product/c_223_2.aspx
http://www.ohr.cn/posts/l_2240_0.aspx