我和.net

主要讲述Sharepoint以及OfficeSystem和在.net下的开发和应用

导航

2004年11月12日 #

微软技术教育大会(Microsoft Tech Ed)心得

摘要: 1 我关注的内容: 本次大会的内容非常丰富,但是,由于借助网络技术,微软为我们提供了网络课堂和各种远程培训机会,所以,在这次技术教育大会,让我感到新奇的东西不多。所以呢,这次我去的目的,首先是去看看微软将发展的重点放在哪里?微软在已有的东西上有哪些应用模式?有哪些开发技巧等等,反正,就是带着开开眼界,开阔思路,寻求工作中遇到的问题的解决方案的目的去的。我选择了两个方面的内容: n Office 应用和开发 n 开发、技术趋势 阅读全文

posted @ 2004-11-12 21:52 皮皮 阅读(3305) 评论(4) 推荐(0) 编辑

自己定制SPS的颜色

摘要: 通过昨天的学习,我知道可以使用CSS来定制sps站点的颜色,我以前也试过通过在管理界面上设置新的Css路径来更改sps站点的颜色,可以没有成功。现在,我明白是因为自己放css文件的路径不对。 我从原来的目录下拷贝了一个OWS.css文件,重新命名为OWS_zy.css,然后拷贝到原来的目录。然后,通过管理界面,设置站点使用我的这个ows_zy.css作为它的样式表(每个虚拟站点都可以使用不同的样式表),然后,我修改我的css文件,界面果然发生了变化。 但是,通过实验,我发现有一些东西的控制并不完全由你定制的css文件来管理,你还需要修改sps.css,但是这个文件是所有虚拟站点公用的,那么当你修改它的时候,所有的站点都会跟着变化。 阅读全文

posted @ 2004-11-12 21:50 皮皮 阅读(847) 评论(1) 推荐(0) 编辑

日志摘要WebPart的日期计算有问题

摘要: 从九月份开始,我发现我的日志摘要上都写上了“新”,我知道,一定是我的算法出现了问题,因为我在比较日志发布日期和当前日期的时候,用了一个取巧的方法,就是将日期转换成整数,然后再相减。 我想正确的算法应该是直接用日志的发布日期和当前日期进行比较才是正确的。 那么日志发布日期使用字符串格式存储的,如何将这个字符串转化成日期类型呢。我没有找到直接的函数,所以我想可以先拆分字符串为年月日,然后使用datetime的对象赋值的方法来实现。 DateTime dt=new DateTime(2004,9,20,0,0,0,0); 阅读全文

posted @ 2004-11-12 21:48 皮皮 阅读(699) 评论(2) 推荐(0) 编辑

使用程序修改域帐户直接领导时遇到的错误

摘要: 使用C#修改域帐户的直接领导,本来是一件非常容易的事情,可是今天下午,我却怎么也调不过去,系统总是在提交修改的那一句提示“出现约束性冲突”。这是怎么回事?我非常纳闷。这个属性是可以修改,不应该会有什么困难。经过仔细检查,我终于找到了这个我好像已经犯过一次的错误,我在给manager属性赋值时,没有将adspath前面的“LDAP://”去掉,这样我等于就是直接把这个adspath赋值给了manager属性,而这个属性要求的是ldap://后面的那部分。所以,总是抱错。 阅读全文

posted @ 2004-11-12 21:47 皮皮 阅读(577) 评论(0) 推荐(0) 编辑

将weblog改成支持图像的站点

摘要: 大家知道,用FrontPage可以很方便的在SharePoint中创建Weblog站点,但是,Sharepoint创建的站点有一个很大的缺陷,就是不能显示图片,如果weblog站点够支持图片的话,那么内容将会丰富得多。 现在的log创建weppart创建的log能够将文本中的html标记很好的存入list中(现在需要手工编写)。但是由于显示的时候用了微软自带的,所以不能解析html标记。因此,我需要做一个支持html标记的显示webpart. 阅读全文

posted @ 2004-11-12 21:45 皮皮 阅读(587) 评论(2) 推荐(0) 编辑

对SPEncode又有新的体会

摘要: 今天做一个能够显示图像的webpart,所以对SPEncode又有新的体会。 上次,我明白了使用SPEncode.HtmlEncode()函数将字符串转换成html格式的文本。今天由于要将存在数据库里的东西显示出来,所以,又使用了SPEncode.HtmlDecode()函数。 阅读全文

posted @ 2004-11-12 21:44 皮皮 阅读(779) 评论(1) 推荐(0) 编辑

在WebPart上创建控件

摘要: 我们在自己开发相关控件的时候,往往需要创建一些控件和用户进行交互(如文本输入框等),我今天为了创建一个编辑列表的webpart自己做了一个,总结了一下,在webpart创建控件的步骤,大致如下: 1、声明在webpart的class中声明你要添加的控件,如加入一个按钮: private Button myButton; 2、重写CreateChildControls() protected override void CreateChildControls() { //创建实例 myButton=new Button(); 阅读全文

posted @ 2004-11-12 21:43 皮皮 阅读(846) 评论(0) 推荐(0) 编辑

使用SPEncode.HtmlEncodePreserverSpace保存输入

摘要: 在创建的webpart上有一个多行的文本输入。但是,保存到list后,发现多行回车换行的地方都没有回车换行。 估计在保存的时候,由于编码的原因未能保存回车换行符。 开始的时候想用str.repalce来替换“\r\n”为“ ”,结果,并不奏效。 突然想起一直不太理解的SPEncode.HtmlEncode和SPEncode.HtmlEncodePreserverSpace,试了一下,果然管用。 阅读全文

posted @ 2004-11-12 17:05 皮皮 阅读(613) 评论(0) 推荐(0) 编辑

通过修改视图来修改首页显示标题字体过小的问题

摘要: 当使用自己开发“WPForListViews”web part显示跨区域文档时,视图原有的列标题字体特小,看上去和页面不协调。 我分析,可能是由于style的定义在这里失效了,所以,我就想用自定义的style来替换它。 我找到跟列标题相关的class是“ms-vh2”和“ms-vh”,一开始我想在程序里修改它,没有成功。于是,我就想能不能直接修改视图呢。 我用frontpage打开视图,搜到“ms-vh2”,改成“zy-vh2”。奏效。 下面是我添加的自己的style,不是每个定义都有效(好像字体大小、对齐方式等有效,字体颜色等没生效) class="zy-vh2" style="font-family: verdana;font-size: 11px;color: #808080;text-align: left;text-decoration: none;font-weight: normal;vertical-align: top;padding-right:;" 阅读全文

posted @ 2004-11-12 16:42 皮皮 阅读(445) 评论(0) 推荐(0) 编辑

部署webpart我悟出了一些道理

摘要: 其实webpart就是一个web 控件程序,因此从这里我大概知道怎么来部署.netweb控件了。 首先,开发的webpart也好,web控件也好,必须有个强名称,这就要求每次编译时必须加上版本号和密钥文件。 然后,可以将这个控件的实体文件发布到.net环境中去,一般来说会有两种地方,一个是全局GAC,就是系统目录下的Assecmbly目录,另外一个地方就是web站点主目录的Bin目录。 阅读全文

posted @ 2004-11-12 16:41 皮皮 阅读(414) 评论(0) 推荐(0) 编辑

创建一个基本webpart

摘要: 按照sps sdk的文档,我试着自己开发webpart,过程是这样的: 1、使用webpart模板创建一个工程 2、定义输出路径到interput\wwwroot\bin下。 3、设置版本号(每个.net程序都要做的) 4、准备好强名称所需的密钥,我给自己弄了一个zhouyikey.snk,放在c盘根目录下,所有的程序都要用它。 5、接下来就开始编辑代码了,首先检查自己所需的namespace是否都已经引用了 6、定义Toolbox Data,如: 阅读全文

posted @ 2004-11-12 16:40 皮皮 阅读(446) 评论(0) 推荐(0) 编辑

部署Webpart的方法

摘要: 方法一: 7. 在同一个Solution中添加一个CAB安装包工程,加入工程的“主输出”和“内容文件” 8. 生成整个Solution,确认两个工程都成功编译。 添加Web Part 使用下面的方法,来部署和添加“WPHttpRequest.dwp”这个Web Part: stsadm.exe –o addwppack –filename path_to_HTTPRequestCab.cab 1. stsadm.exe 默认在\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\bin文件夹中。 2. 需要把path_to_HTTPRequestCab.cab改成具体的路径名称,例如C:\HttpRequestCAB.CAB 把C:\Inetpub\wwwroot\bin下的WPHttpRequest.dll文件,拷贝到C:\Windows\assembly目录中,同时,删除C:\Inetpub\wwwroot\bin下的WPHttpRequest.dl 阅读全文

posted @ 2004-11-12 16:39 皮皮 阅读(452) 评论(0) 推荐(0) 编辑

sps编程模型中打开站点的几种方法

摘要: 1、如果你想打开的是你这个WEBPart所在的站点,直接使用SPWeb和SPControl打开。 注意:想要引用Microsoft.sharpoint和Microsoft.Sharpoint.WebControls SPWeb mySite=SPControl.GetContextWeb(Context); 2、如果要访问当前虚拟服务器的其他站点 SPWeb site=SPControl.GetContextSite(Context).AllWebs[@"/C1/文档中心/"]; 阅读全文

posted @ 2004-11-12 16:01 皮皮 阅读(958) 评论(0) 推荐(0) 编辑

SPsite和SPWeb

摘要: 在sps的编程模型中,首先要用到的两个对象就是SPSite和SPWeb。通过这两个对象告诉程序你要访问那个服务器(虚拟服务器)上的哪个站点。但是,刚刚学习sps编程对象模型的时候,总是搞不清楚这两个对象的关系(因为他们总是在一起使用),经过一番折腾,我现在总算有了一些认识。 SPsite用于告诉用户打开哪个服务器,然后,通过SPSite.AllWebs["site_name"],返回一个站点。 SPSite用于告诉用户打开哪个站点。 阅读全文

posted @ 2004-11-12 16:00 皮皮 阅读(1100) 评论(1) 推荐(0) 编辑

可以定制的的走马灯web 部件

摘要: 昨天下午,用了一个下午的时间编写了一个走马灯的webpart。这个Webpart可以自定义字体大小、颜色、宽度、滚动速度等。 在这个走马灯中没有特别的东西,主要的日期的比较。 可能是由于c#语言不是很熟的关系,我不知道有没有函数直接将字符串转换成DateTime型,反正我没找到,于是,我使用了下面这样的程序块来完成这个转换任务。 //获取到期日期 string strDate=item["过期时间"].ToString(); //获取年 string strY=strDate.Substring(0,4); //将代表月和日的字符串村到一个临时变量,如“8-20 0:00:00” string strT=strDate.Substring(5,strDate.Length-5); //现在字符串中只剩下日期前面一个“-”了,获取他的位置 int intIndex=strT.IndexOf("-"); //取出“-“前面的部分,即取出月份 string st 阅读全文

posted @ 2004-11-12 15:59 皮皮 阅读(543) 评论(0) 推荐(0) 编辑

修改日志摘要

摘要: 头看了我的日志摘要部件,觉得还行,当时提出了一点建议和发现了一个bug。建议是:字体放大半号。这点建议我也是同意的,所以,决定要将它改过来。这个改动不会很大,用不了两天,问题出在那个要命的bug上。既然是摘要,当然就不能将文章通篇都显示出来,所以,需要截取一部分。但是,在截取的时候出现问题了,明明设置的是要截取30个字符,结果,他只截取了两三个字。怎么回事? 我将它原来的文字显示出来,这才明白,因为数据库里存放的是超文本格式的文本,也就是说包括超文本标记也保存在里面,如 之类的。所以必须要想办法删除掉这些东西才好。 我想了一个算法,就是通过一个循环查找尖括号,先找到左尖括号,然后,再找到右尖括号,然后,截取尖括号两边的文字相连(删除尖括号及其中的标记),然后,计算出我删掉多少字,在增加多少字。 说起来简单,可是,文档中的问题很多,而且,我还发现一个问题,一旦形成死循环,服务器就会被wp3占据所有的cpu资源,所以,开发这类的东东千万要小心,多测试。 这不这一测就是两天。 阅读全文

posted @ 2004-11-12 15:58 皮皮 阅读(625) 评论(1) 推荐(0) 编辑

使用vss为vs.net2003提供源代码管理

摘要: 公司部署了clearcase,但是,好像不能直接和vs.net2003集成。 于是,我想到了微软自己的vss6。 通过安装vss,果然,vs.net2003的源代码管理功能就被激活了。只要通过vs.net2003的开发界面就可以控制签入,签出,版本比较等功能。 而且,我还发现vs.net2003和clearcase冲突,必须先卸载,再安装vss,否则就会出错。 阅读全文

posted @ 2004-11-12 15:57 皮皮 阅读(2941) 评论(4) 推荐(0) 编辑

解决了日志摘要的一个小bug,并增加了新功能

摘要: 我在开发日志摘要这个webpart的时候,遇到一件很奇怪的事情。那就是我自定义了两个int类型的属性,但是,当我刷新界面后,其中的一个属性就会重新初始化为0。难道是不能同时使用两个int类型的属性。我想不可能,我仔细检查了一下代码,在我有点灰心丧气的时候,我发现了秘密的存在。 在一开始,我需要定义全局变量: private int intPerPage; 然后按照webpart的格式定义一个属性 //自定义每页显示多少行 [Category("定义视图")] [DefaultValue(3)] 阅读全文

posted @ 2004-11-12 15:57 皮皮 阅读(511) 评论(0) 推荐(0) 编辑