07 Oct 2005

Communtiy Server论坛的帖子显示页面分页部分的Url Rewrite的构造方法

你可能会发现在Communtiy Server的论坛帖子列表页面

比如http://communityserver.org/forums/129/ShowForum.aspx

看下面分页处的连接使用的地址是类似ShowForum.aspx?PageIndex=2这样的地址
没有做到SearchFriendly,我们稍微改造一下代码就可以实现类似帖子显示页面内那样的地址
先在siteUrl.config内增加

 

<url name="forum_Paged" location = "forums" path = "{0}/{1}/ShowForum.aspx" pattern = "(\d+)/(\d+)/ShowForum.aspx" vanity="ShowForum.aspx?PageIndex=$1^ForumID=$2" />

然后siteUrl.cs内增加
 

public virtual string FormPagedFormat (int forumID)
{
 return urlData.FormatUrl("forum_Paged", "{0}", forumID.ToString(), forumID.ToString());
}

接着ThreadView.cs内paer数据绑定处增加

pager.UrlPattern = SiteUrls.Instance().FormPagedFormat(csContext.ForumID);
 

重新编译,OK,看看效果吧~~

http://www.3pub.com/bbs/3/default.aspx

07 Oct 2005

比较酷

http://www.netvibes.com/
http://www.google.com/ig
http://www.start.com/
都有基于web的rss 订阅功能,页面还可以自由调整

04 Oct 2005

C Community Server 群发Email MassEmailingAdmin.aspx页面内插入表情和代码时,404错误

Email群发的时候:MassEmailingAdmin.aspx页面内插入表情和代码时,404错误

发现是Js文件内路径的问题
FTB-FreeTextBox.js内


 this.iPopup.document.location.href = "../emoticons.aspx";


改成


 this.iPopup.document.location.href = "/emoticons.aspx";


FTB-Pro.js内


 var codeWin = window.open("../insertcode.aspx","codeWin","width=530,height=420,status=0,toolbars=0");


改成


 var codeWin = window.open("/insertcode.aspx","codeWin","width=530,height=420,status=0,toolbars=0");

04 Oct 2005

使ExpanderPanel的文本带上连接

ExpanderPanel.cs 增加TextHref属性
修改了Text属性的Get方法


if(ResourceName != null)
{  if(TextHref == null)
 {
  return CommunityServer.Components.ResourceManager.GetString(ResourceName);
 }
 else
 {
  return String.Format(”<a href=\“{0}\”>{1}</a>”,this.TextHref,CommunityServer.Components.ResourceManager.GetString(ResourceName));
 }
}

04 Oct 2005

做站要有创意,不然没有前途!!!

做站要有创意,不然没有前途!!!


前几天刚发布的:


一个老外做了个million dollar homepage
http://www.milliondollarhomepage.com/


他在网络上建立了一个1000x1000像素的空白网页,
以每个像素一美元的价格出售他这个网页上的一百万个空位。
这无疑是个异想天开、不可思议的主意和作法。
然而,如今他已经把这个网页上的41600个空位卖了出去。


国内的一帮没新意的站长就一哄而上~~一下子就出现了一大堆类似的中文站,
除了第一个估计在众多Blogger的支持下会走的比较久,其他的全都是跟风~~


http://www.1baiwan.com/
http://www.8baiwan.com/
http://www.1qianwan.com/
http://www.1qianwan.cn
http://www.54shagua.com/
http://www.5u56.net/
http://www.givemeface.com.cn/


这些无地址、无电话、无联系人姓名、无发票、无备案,是典型的全无企业~
抄袭国外的创意,难的是创意很难持久,成大树毕竟不能是只靠这些来支撑的。


from:
http://www.im286.com/viewthread.php?tid=1121013&fpage=1&highlight=%D7%F6%D5%BE%D2%AA%D3%D0%B4%B4%D2%E2

02 Oct 2005

Community Server的新功能--快速回复

进入
http://communityserver.org/forums/498047/ShowPost.aspx

双击鼠标,看效果

但是Firefox/1.0下无效...

24 Sep 2005

使用Url Rewrite 如果原始Url就带QueryString时候的一个问题

我重写了我的站点程序,在使用msdn内
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/urlrewriting.asp
关于Url Rewrite的方法


今天发现发现搜索引擎内对于原访问地址的记录还都在,而且有很多朋友通过这些地址访问
我当然不愿意然这些连接全部导向出错页面了,就想在Url Rewirte 内加个规则
<LookFor>为~/ShowArticle.Aspx\?ID=(\d+)
<SendTo>为~/Show.Aspx\?ID=(\d+)
当我这么加了后,访问该页面发现报错误404
仔细看Url Write的代码
最后发现



protected virtual void RewriterModule_AuthorizeRequest(object sender, EventArgs e)
{
 HttpApplication app = (HttpApplication)sender;
 Rewrite(app.Request.Path, app);//看这里,采用的是Request.Path 
}


经过我测试
对一个地址http://localhost/test/requestpath.aspx/sss.aspx?id=2222访问
得到的结果是


request.path:       /test/requestpath.aspx/sss.aspx
Request.Url.ToString():     http://localhost/test/requestpath.aspx/sss.aspx?id=2222
Request.PathInfo:    /sss.aspx
Request.RawUrl:     /test/requestpath.aspx/sss.aspx?id=2222

我将上面的代码改成

protected virtual void RewriterModule_AuthorizeRequest(object sender, EventArgs e)
{
 HttpApplication app = (HttpApplication)sender;
 Rewrite(app.Request.RawUrl, app); 
}


执行我的程序,发现我的程序报错,提示的是我的参数不正确,
跟踪了一下发现QueryString传递了两个ID参数
经过跟踪代码,发现 internal static void RewriteUrl(HttpContext context, string sendToUrl, out string sendToUrlLessQString, out string filePath)内


if (context.Request.QueryString.Count > 0)
{
 if (sendToUrl.IndexOf('?') != -1) 
 {
  sendToUrl += "&" + context.Request.QueryString.ToString();
 }
 else
 {
  sendToUrl += "?" + context.Request.QueryString.ToString();
 }
}
这里将context.Request.QueryString又给sendToUrl加了一边

如果去掉这部分那么虚拟的没有QueryString参数的页面将全部无法传递正确
最后只有在些Rewrite.config的时候


<!--
 如果LookFor内包含QueryString那么在SendTo内就不必写QueryString,
 因为上下文的content的context.Request.QueryString已经传递过去了
-->
<RewriterRule>
 <LookFor>~/ShowArticle.Aspx\?ID=(\d+)</LookFor>
 <SendTo><![CDATA[~/Show.aspx]]></SendTo><!--这里-->
</RewriterRule>

 一切ok了,这样的地址都能访问了
http://www.github.com/ShowArticle.Aspx?ID=214
 :-)
 

21 Sep 2005

文本块内的文本的空格、制表符和换行处理

最近在做我的AspxBoy.Com时遇到一个郁闷的问题

在使用ftb2.0做编辑器的时候

在内容筐内粘贴进

….

的代码

当提交后显示页面(如http://www.github.com/433/archive.aspx)内

内的制表符都变没了
求助与csdn:

http://community.csdn.net/Expert/topic/4282/4282303.xml?temp=.5363428

经网友指点采用新的ftb版本,发现提交到数据库内制表符没有被替换,
但是显示的时候还是全部被替换了
找啊找啊,一夜没睡,终于在
苏昱的样式表中文手册内找到了答案
原来在写

样式的时候
写上了
white-space:normal;
却没有用 去替换制表符,
我改用如下样式则显示正确了
white-space:pre;

而正确的使用方法是
语法:
white-space : normal | pre | nowrap
取值:
normal : 默认值。默认处理方式。文本自动处理换行。假如抵达容器边界内容会转到下一行
pre : 换行和其他空白字符都将受到保护。这个值需要IE6+或者 !DOCTYPE 声明为

standards-compliant mode
支持。如果 !DOCTYPE 声明没有指定
standards-compliant mode ,此属性可以使用,但是不会发生作用。结果等同于 normal 。参阅 pre 对象
nowrap : 强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象。参阅 noWrap 属性
说明:
设置或检索对象内空格字符的处理方式。
空格字符,像换行,空格,TAB,在HTML文档中默认的是被忽略的。当此属性设置为 normal
或者 nowrap 时,你可以使用不换行空格的命名实体   来添加空格,用 br 元素来添加换行。
此属性对你使用文档对象模型(DOM)操作的内容的影响与其对IE显示内容的影响一样。
此属性作用于块对象。
此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。
对应的脚本特性为 whiteSpace

17 May 2005

顺利与不顺利

今日给客户做演示,1年多的项目演示,客户比较满意,算顺利。
下午打开邮箱,发现GoogleAdsense把我的帐号停用了,说产生了无效点击。
一天才几个美毛的收入,我这个弊做的也太差劲了。不顺利。

12 May 2005

从VB的语法理解 抽象方法

 


C#中 abstract void MethodName(....
 
VB中 MustOverride Sub MethodName(....


MustOverride”多容易理解啊