2008年06月10日

于题目的问题,我一直很诧异,诧异到坐在那里对着屏幕发呆冒汗!因为以前明明可以返回XmlNode的,但是这次实在不行。

网上搜了一通...音信全无。

在今天交了毕业论文之后,我心情大爽大震!

于是发现了问题:

1、 <Resume xmlns="http://ns.zhaopin.com/resumes">

2、<Resume>

上面的1和2的区别在于XML文档1的根节点多了xmlns属性,就是它惹得祸!

好吧,让我们在处理XML文档之前把这个属性去掉吧,我用的是一个很白痴的很简单但很好用的方法:字符串处理。

StreamReader sr = new StreamReader(Server.MapPath("") + "\\1.xml");
string tempXML = sr.ReadToEnd().ToString().Replace("xmlns=\"http://ns.zhaopin.com/resumes\"", "");
sr.Close();
StreamWriter sw = new StreamWriter(Server.MapPath("") + "\\1.xml", false, System.Text.Encoding.UTF 8) ;
sw.WriteLine(tempXML);
sw.Close();

上面的代码的意思就是说把1.xml中的字符都读出来,然后把刚说的那个讨厌的属性给替换掉,然后重新写入1.xml。

好吧,现在这个1.xml就听话了,在我们SelectSingleNode()的时候返回null了。

Tags: .
2008年04月01日

o
k,长话短说,废话不说。

所谓的三维模型优化有两个方面:

1,对于模型来说,减少三维模型的点、线、面的数目

2,对于贴图来说,使用UV贴图并减小贴图的大小。 

当我们用Maya/3dMax/犀牛等三维软件建立了三维模型之后如何对其进行优化呢? 

第一,建模技巧

比如楼房,多楼层的楼房可以用一个box来代替;删除模型中的多余面;单个物体的面数不能很多;如果可以用贴图来表现复杂模型就不要用模型;将占用大块区域的模型拆减成小模型减轻系统压力。

第二,贴图技巧

最好不要用零散的多贴图,因为在系统加载贴图的时候如果贴图过多会增加硬盘的交互。使用一个UV贴图会减少交互,将其交给显存后就让它自己算去吧,有利于性能提升。

第三,软件优化

对于模型,我们可以使用Deep Exploration来对其进行优化,这是一个极牛的软件。可以使用电驴搜索下载,这里就不提供下载了。对于贴图用ACDSee就好了,推荐使用3.1美化版。当然,如果能用photoshop装上DDS插件做成dds格式的贴图那是最棒的。

以上三点是对三维模型进行优化我能考虑到的三个方面的方法,如果大家谁还有更好的办法欢迎相互交流!

PS:用Google/baidu搜索“三维模型优化方法”都搜不出来东西....汗! 

2008年02月06日

1
,看看自己具有哪个大明星的脸型 http://www.play-analogia.com/cgi-bin/index/2,超有意思的Flash网站,虚拟办公 http://agencynet.com

3,亲自动手给美女画纹身 http://www.crustydemons.co.uk/UK/tattoo_parlour/index.html

4,输入文字就发出声音! http://www.putonghuaonline.com
只支持繁体中文,同时也是学习普通话和粤语的好地方

5,在线做个通缉令 http://www.glassgiant.com/wanted/

6,制作属于自己的卡通大头像吧 http://cartoon.msn.com.cn

7,在你的照片上添加有趣对话 http://www.bubblesnaps.com

8,这个网站提供各种有趣的在线拼图 http://www.thebroth.com

9,很逼真!模仿XP系统操作的网站 http://www.kingnare.com

10,原来制作带阴影的LOGO如此容易 http://msig.info/web2.php

11,教你打领带 http://www.tieknot.com/dalingdai.html

12,系鞋带的N种方法 http://www.fieggen.com/shoelace/lacingmethods.htm#2trillion

13,咱也弄个自己的徽章玩玩 http://www.says-it.com/seal/index.php

14,在线素描 http://flashface.ctapt.de

15,各种动画图标制做 http://ajaxload.info

16,各种字体图片制做 http://cooltext.com

17,http://www.pollyglotto.com/index8.php
超牛的语音翻译,输入文字里面的人自动给你以语音的形式翻译出来,有趣的是他眼睛跟你你鼠标转,遗憾的是不是免费的!

18,你今天印书了么?免费将你的博客翻印成书 http://www.mrprint.cn/?UN=f1208b59454a9a744055&ShowType=0

19,做个德国身份证玩玩 http://onlinewahn.de/generator/

20,自己做个图来让别人拼 http://www.flash-gear.com/puzzle/

21,在线媒体提取工具 http://solor.cn

22,DiY网络拼图 http://www.webpuzzle.cn

23,2G网络硬盘,仿windows操作系统 http://www1.pc2n.com

24.在线媒体转换工具 http://media-convert.com
它支持大量的文件格式之间的互相转换,包括视频、音频、PPT文档、Word文档、表格文档、图片等等数十种之多。比如你可以把mp3转换成wav,把png转换成gif,把word文件转换成txt文件

25.在线保存,分享和交流网页,博客,新闻 http://www.hinale.com
为您的一篇文章嵌入Hinale按钮,更方便用户保存和交流您的文章

26.blog 搜索引擎 http://www.gnoos.com.au

27.[ ImageCrop ] http://www.imagecrop.com
功能相对简单,它其实是一款为MSN、Yahoo Messager等制作头像的剪裁工具,因此,它的特色在于内置了专用尺寸模板,比如MSN、论坛头像75×75或85×85的尺寸等等。当然也可以自定义大小。

28.[ Online Image Editor ] http://www.online-image-editor.com
支持JPG、PNG、GIF及BMP格式的图像,具备可转换颜色模式,添加边框,转换图像格式等功能,内置10个滤镜效果。

29.[ GifWorks ]Gif动画处理工具 http://gifworks.com
可生成动画效果的文字,不过不支持中文。可编辑的图像格式只有Gif类型,允许上传最大单个文件为400K。具备30多种滤镜效果、3 种优化工具及旋转、剪裁等常用图像编辑功能

30.[ Colorcombos ] http://www.colorcombos.com
是一个网页配色自动探测工具,你只需输入网站地点,它就会帮你把该网站当前的网页配色方案展示出来,并提供相应的色值

31.[ PhotoShow ] http://www.photoshow.com
是一个新型的图片展示服务,利用Flash技术构建。事实上,也可以把它当作如
[ ibloks ] http://www.wappblog.com/entry/200.html
[ Eyespot ] http://www.wappblog.com/entry/108.html
等这样的混合工具,它可把图片及音乐混合,做成一段效果非常酷的流媒体。

32.[ Imagesquash ] http://www.imagesquash.com
又是一个图片转换工具,它可以根据按上传图片大小的百分比进行缩小,可转换图片格式为Jpeg、Gif及PNG,可改变图片质量。

33.[ 在线ping你的博客 ] http://pingoat.com

34.[ iBloks ] 是一个多媒体混合工具,它能把照片及音乐混合成一段视频
http://www.ibloks.com

35.[ Web2.0 STYLr ] 是一个web2.0 Logo制作工具
http://web2.0stylr.com/stylr.aspx

36.[ Web2.0 Logo Creator ] http://msig.info/web2.php
是一个专门用来制作web2.0网站logo的在线工具,制作出的logo具备了几个web2.0元素,比如倒影、beta标志等等,在有些地方可能不能打开这个网站,可以去http://www.cnproxy.com/webproxy.asp,通过代理打开!!

37.爱因斯坦写汉字 http://www.sbfun.org/einstein/index.php

38.[ Crusty Demons ] http://www.crustydemons.co.uk/UK/tattoo_parlour/index.html]
是一个在线的纹身视频制作工具,可自定义纹身图案、文字内容和纹身位置,完成后会生成一段视频,并且可下载图片或者发送给朋友

39.[ Ponyfish ] http://www.ponyfish.com
是一个在线Feed创建工具

40.[ SubAdjust-Web ] http://dev.pdvel.com/subadjust/index.php
是一个用来调整DVD字幕的在线工具,你可以通过
[ SubAdjust-Web ] http://dev.pdvel.com/subadjust/index.php
来调整DIVX字幕的时间,以便使其与DVD视频同步,另外还可以用来在SubRip和MirroDVD字幕两种格式之间互换。

41.在线favicon图标制作 http://tools.dynamicdrive.com/favicon/

42.[ converticon.com ] http://converticon.com
是一个在线ico文件和png文件互相转化工具

43.[ krun.ch ] http://krun.ch
提供了本地文件和网络文件的压缩和解压四种功能,压缩或解压缩后的文件可以下载到本地。另外它提供了zip、rar和gzip压缩文件格式供选择

44.[ 在线做个徽章 ] http://www.says-it.com/seal/index.php

45.在这里,你可以在线做个以自己照片做硬币人物的硬币图片,好酷哦!!
http://onlinewahn.de/generator/m-maker.htm

46.想想自己的照片被外文报纸刊登在头版头条该是多么风光,在这里就可以轻松实现 http://onlinewahn.de/generator/z-maker.htm

47.一个在线生成flash菜单的网站,对站长很有帮助. http://www.hostsun.com/gr/flash_generators.php

48.对有些做了IP限制的网站,可能无法访问,可以使用这个代理访问. http://www.cnproxy.com

49.在线图片处理,网通 http://www.iephotoshop.com
电信 http://www1.iephotoshop.com

50.你可以制作出很有专业水准的动态logo,有很多的样式供你选择 http://www.logomaker.cn

51.Flash头像 http://www.dookyweb.com/avatars.swf

52.印象派涂鸦板 http://jacksonpollock.org

53.在线网页截屏工具,在浏览器地址栏输入下面的代码就可以了。
http://images.websnapr.com/?url=thw.568idc.com红色部分换成你想要截的网页的地址

54.另外两个好用在线网页截屏工具 http://www.browsrcamp.com/ 和 http://snap.otag.cn/screenshot.aspx

55.可以突破网吧的下载限制进行下载 http://thw.568idc.com/serve/xiazai.html

56.跳转FLASH生成工具 http://www.dfxy.org/tiao/

57.[krun.ch] http://krun.ch
是一个在线压缩工具,它提供了本地文件上传压缩和解压、网络文件的压缩和解压四种功能,压缩或解压缩后的文件可以下载到本地或者通过Email发送。另外它提供了zip、rar和gzip压缩文件格式供选择。

58.在线生成纯css代码实现的圆角矩形的网站,对网站制作者很有用的东西
http://www.spiffycorners.com
59.it" target=_blank>http://pentacom.jp/soft/ex/" target=_blank>http://www.onlinewahn.de/generator/m-maker.htm

61.图片仓库:
http://pic.sdodo.com/

62.在线FLASH动画制作
http://www.dfilm.com/index_movie_start.html

63.图片生成网页图标
http://www.chami.com/html-kit/services/favicon/

64.由蝌蚪网络提供的Gmail注册入口
http://cnc.kedooo.net/gmail/
65.最全的邮件/QQ/MSN/BLOG图片生成器
http://www.eoool.com/

66.收藏夹图标生成器
http://www.html-kit.com/e/favicon.cgi

67.在线域名LOGO生成
http://phorum.com.tw/Generator.aspx
68.免费3D banner在线制做网站
http://www.3dtextmaker.com/cgi-bin/3dtext.pl

69.输入图片就能查看字体
http://uptime.netcraft.com/up/

72.查看该域名IP主机下的其他域名
http://whois.webhosting.info/

73.生成email图片
http://www.nhacks.com/email/index.php

74.世界网络里面有很多不错的测试
http://www.linkwan.com/gb/broadmeter

75.几个大城市的地图搜索
http://map.zhongsou.com

76.图片标签快速生成工具
http://www.eoool.com/

77.查询在google所有服务器中的PR值
http://www.iwebtool.com/pagerank_checker?domain=www.XXXXXoob.com

78.免费加入140个搜索引擎
http://freehosting.hostrave.com/p/ledbetter/submitware/index.php

79.在线生成多种样式的LOGO http://sherlocco.com/create.asp

80.街道路牌签名生成器
http://www.streetsigngenerator.com/

81.blog标签图片80×15/80×31制作
http://button.blogflux.com/

82.在线生成漫画小图像的站
http://www.abi-station.com/tchinese/
83.生成邮址图片\条形码生成\印章
http://www.makepic.com/

84.QQ在线状态代码生成
http://is.qq.com/webpresence/code.shtml

85.身份证号码在线生成器-韩国/台湾
http://i972.net/~gen/

86.条形码在线生成器
http://www.gzbonny.com/asp/barcode.asp

87.聊天工具在线状态生成器
http://www.onlinestatus.org/usage.php

88.在线字体生成工具
http://www.logomaker.cn/

90.在线制作卡通头像
http://cartoon.msn.com.cn/

91.网站综合信息查询
http://www.webmasterhome.cn/
92.在线制作按钮(多种款式)
http://www.buttonator.com
93.在线建立您的Web 2.0网站LOGO
http://web2.0stylr.com

94.在线生成彩字(爱狗狗吧)
http://www.igogo8.com/

95.live个性图标在线制作
http://linux-fans.com/email/live/live.php
96.在线(IE版)图像处理工具
http://www1.iephotoshop.com/

97.ajax载入效果
http://ajaxload.info/

98.报纸头条图片生成器
http://www.onlinewahn.de/generator/z-maker.htm

99.杂志封面生成器
http://www.funonit.com/funny_jokes/fake_magazine

100.MD5加密破解查询
http://www.md5.org.cn/

102.批量查询未注册域名
http://www.moniker.com/domains

Tags: .
2008年01月08日

从装了Windows 2003之后,在本地开发网站的时候部署到IIS上后总是提示“无法找到该页”的错误,但是访问html和图片文件的时候却没有问题,一直诧异中,却一直没理会。因为自从VS2005之后它内置的服务器就可以帮助我们做我们想要做的网站调试和浏览了。但问题终归是问题,不能一直逃避不去解决,今日偶然发现了解决的办法,放在这里以留纪念。

Windows 2003毕竟是服务器系统,安全性要求较高,所以就默认设置了asp和aspx这些脚本页面不许执行了。

其实很简单,只需要一幅图就可以完全说明问题,不必我在这里罗罗嗦嗦了。

iis.JPG

2007年12月30日

Asp.net 1.1开始,我们就开始使用DataGrid、DataList、Repeater控件,到了Asp.net 2.0又增加了GridView控件。GridView控件在DataGrid上做了优化和改进,功能很强大,但是自定义性不够强。Repeater自定义性非常高。而DataList则兼而有之,其他方面本文不谈。这里就说下怎么给DataList分页。

给DataList分页有两个办法:1、自己写 2、用第三方控件(如AspNetPager

使用第三方控件的方法我就不说了,这里主要说说如何自己实现分页方法。

我的DataList分页方法的核心原理是利用PagedDataSource对象,PagedDataSource类封装了DataGrid 控件的属性,这些属性使 DataGrid 可以执行分页,下面是PagedDataSource的公共属性:

AllowCustomPaging 获取或设置指示是否启用自定义分页的值。
AllowPaging 获取或设置指示是否启用分页的值。
Count 获取要从数据源使用的项数。
CurrentPageIndex 获取或设置当前页的索引。
DataSource 获取或设置数据源。
DataSourceCount 获取数据源中的项数。
FirstIndexInPage 获取页中的第一个索引。
IsCustomPagingEnabled 获取一个值,该值指示是否启用自定义分页。
IsFirstPage 获取一个值,该值指示当前页是否是首页。
IsLastPage 获取一个值,该值指示当前页是否是最后一页。
IsPagingEnabled 获取一个值,该值指示是否启用分页。
IsReadOnly 获取一个值,该值指示数据源是否是只读的。
IsSynchronized 获取一个值,该值指示是否同步对数据源的访问(线程安全)。
PageCount 获取显示数据源中的所有项所需要的总页数。
PageSize 获取或设置要在单页上显示的项数。
VirtualCount 获取或设置在使用自定义分页时数据源中的实际项数。

那么如何使用 PagedDataSource对象进行DataList分页呢?(网上有很多的讲DataList分页的文章,有一些是糊弄人的,有的还无法起作用,我被骗过一次,本文是我经过个人实践经验得到,可以顺利执行。希望对大家有所帮助。)

现在开始拉!

第一步,取出数据到datatable中,然后获得dataview,付给PagedDataSource对象

DataView objView = objTable.DefaultView;
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = objView;

第二步,PagedDataSource对象objPds的设置

objPds.AllowPaging = true;
objPds.PageSize = 4;
objPds.CurrentPageIndex = int.Parse(ViewState["pageindex"].ToString());

上面的这两段代码都是写在BindData()函数中的,供每次点击分页按钮时调用。BindData()函数如下:

private void BindData()
{
string sql = "SELECT * From team";

DataTable objTable = data.GetDataTable(sql);
if (objTable != null && objTable.Rows.Count > 0)
{
DataView objView = objTable.DefaultView;
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = objView;

objPds.AllowPaging = true;
objPds.PageSize = 4;
objPds.CurrentPageIndex = int.Parse(ViewState["pageindex"].ToString());

if (!objPds.IsFirstPage)
{
lkPre.Visible = true;
}
else
{
lkPre.Visible = false;
}

if (!objPds.IsLastPage)
{
lkNext.Visible = true;
}
else
{
lkNext.Visible = false;
}

dlData.DataSource = objPds;
dlData.DataBind();
}
}

到此为止,我们已经将数据交给了PagedDataSource,剩下的分页将利用PagedDataSource 进行处理。可能大家注意到了,这个数据交付是完整的数据交付,如果数据量很大会造成一定的效率低下,不过这里暂时不考虑这个问题。有兴趣的朋友可以一起探讨一下。

上面的第三行代码中的 ViewState["pageindex"] 是用来控制PagedDataSource的当前页的,我们在Page_Load事件中和第三步将要将的函数中来具体讲解如何利用 ViewState["pageindex"]控制当前页。

BindData()函数中后面的部分是控制向前向后按钮的显隐的,不再多说。

第三步,分页控制

第二步中说过利用 ViewState["pageindex"] 来控制当前页,为了在页面加载的时候就显示第一页,我们当然要在Page_load事件中将 ViewState["pageindex"]置为0。

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["pageindex"] = "0";
BindData(); }
}

我们需要加两个按钮(Previous、Next)来点击进行分页控制。

<asp:DataList ID="dlData" runat="server" RepeatColumns="4" >
<ItemTemplate>
<asp:Label ID="lblName" runat="server" /><br />
<asp:Label ID="lblTime" runat="server" />
</ItemTemplate>
</asp:DataList>
<asp:linkbutton ID="lkPre" OnCommand="IndexChanging" CommandArgument="pre" runat="server" >PREVIOUS PAGE></asp:linkbutton>
<asp:linkbutton ID="lkNext" OnCommand="IndexChanging" CommandArgument="next" runat="server" >NEXT PAGE</asp:linkbutton>

两个按钮的 OnCommand都是IndexChanging()函数,我们通过CommandArgument(pre和next)来区分到底是向前翻还是向后翻。下面是IndexChanging()函数

protected void IndexChanging(object sender, EventArgs e)
{
string strCommand = ((LinkButton)sender).CommandArgument.ToString();

int pageindex = int.Parse(ViewState["pageindex"].ToString());

if (strCommand == "pre")
{
pageindex = pageindex - 1;
}
else
{
pageindex = pageindex + 1;
}

ViewState["pageindex"] = pageindex;

BindData();
}

至此,我们的分页函数已经写完了。这里还有一些东西没有说,比如显示一共多少条记录,当前第几页,一共多少页以及每一页的页码。相信看懂了上面所说的后这些东西还是容易写出来的。

总结一下,我们在前台写好DataList等待数据,而数据是由PagedDataSource提供的,分页通过我们新加的两个ImageButton来控制ViewState进而达到控制PagedDataSource的CurrentPageIndex来实现的。所以,其实DataList也没干啥事,就是显示了每一页的数据而已。有一点需要说明,PagedDataSource的CurrentPageIndex是从0开始的,这也是为什么在Page_load事件中要讲ViewState置为0而不是1的缘故。

OK了~听着周杰伦的“阳光宅男”写完了这篇blog,希望对大家有所帮助 。

Tags: ,,,,,,,,,.