All Posts (293) 293


关于C# if语句中并列条件的执行

我们知道,当两个条件进行逻辑与操作的时候,其中任何一个条件为假,则表达式的结果为假。所以,遇到(A 且 B)这种表达式,如果A为假的话,B是不是真假都无所谓了,当遇到一个假条件的时候,程序也就没有必要去额外的判断剩下的东西了。C#语言中也是如此。当多个条件进行逻辑与操作的时候,判定会从表达式左边执行到右边,遇到任何一个为假,后面就都不做了。这很聪明,然而如果后面的条件会抛出异常,就是个潜在的问题。一旦之前的条件为真,就会继续执行,执行到抛出异常的条件时,程序就爆了,哈哈。 我们可以写个简单的demo试试。下面的这段代码是坑爹的,之后我会说明原因,但大家可以先从直观的层面上理解一下,最后我会给出正确的测试方法。 static void Main(string[] args) { DataSet ds = null; if (false && ds.Tables[...

C# if 条件

C#字符和ASCII码互转

废话不多,直接上代码。 static void Main(string[] args) { char[] charFucks = new char[] { 'f', 'u', 'c', 'k' }; foreach (var item in charFucks) { Console.Write(Convert.ToInt32(item) + " "); } Console.WriteLine(); int[] asciiFucks = new int[] { 102, 117, 99, 107 }; foreach (var item in asciiFucks) { Console.Write((char)item); } Console...

ASCII char 字符

JQuery让页脚部固定在网页底部

一般,在网页上,如果内容较少,页脚就会跑到屏幕中间去,可能会让用户感到蛋疼。 上次看了一篇文章,用CSS的办法来固定页脚到浏览器窗口底部。他优点很明显,不需要JS,并且在调整浏览器窗口大小的时候仍然可以自适应,但写法略复杂,如果项目比较赶进度,就不太能用上了。 今天我就遇到了赶进度的蛋疼事情,所以用JQuery简单搞了一个,但本人前端开发水平很烂,有不完善的地方,高手莫喷。代码如下: // 重定位页脚函数 function repositionFooter(){ var h = $(window).height(); $(".innerBlock").css('min-height',h - 230) }; // 用户调整窗口大小时重定位页脚 var resizeTimer = null; $(window).bind('resize', function(){...

jQuery resize 页脚

VMWare安装Windows 8 Developer Preview蓝屏的解决办法

昨天晚上想试一下Win8,用VMWare8装了一下,结果在"Getting Devices Ready"的时候爆了: 重启之后,又爆了: 根据经验,这应该是安装硬件驱动的时候爆了,说明Win8无法正确识别VMWare的硬件。但很奇怪,我记得网上说VMWare8是可以装Windows8的。经过一番摸索,终于找到了正确的安装办法: 首先,创建虚拟机的时候要选Custom: 然后选Workstation 8.0 选择 I will install the operating system later. 这里选Windows系统,在Version里选择Windows7,如果你下载的Win8镜像是64位的,就选Windows7 x64 到Network Type这步的时候,选择Bridged networking 然后一路next到虚拟机创建完成。然后打开...

VMWare Win8

GridView手写事件,包括取主键、取值、更新、选择、删除

刚才在调整网站友情链接管理页面,里面有个简单的GridView。因为更改了架构,所以需要手工给GridView编写编辑、删除等事件。最近也经常碰到有人问我GridView的问题,于是写成经验之书以警后人。 图片是本网站后台的友情链接管理页面: 1. 手写[编辑]功能时,要编写的事件: 一共有3个: RowEditing RowCancelingEdit RowUpdating 前两者的代码比较固定,一般都是: protected void gvFriendLink_RowEditing(object sender, GridViewEditEventArgs e) { gvFriendLink.EditIndex = e.NewEditIndex; FetchData(); } protected void gvFriendLink_Row...

GridView

网站建设的一些体会——技术背后的思考

1.极致的高深就是简洁 我是今年六月开始我的毕业设计的,这个项目是对我大一时做的个人网站进行重构,算是个维护项目。刚开始时,我就预感到这是一项艰巨的任务。首先,在用户界面上,我需要创作一个新的形象。大一时设计的旧版界面已经略显过时了。在新版面的设计上,我不想给访客留下诸如“简陋”——设计的过于简单,或“华而不实”——漂亮但不中用的印象。我研究了国内外许多网站,最终体会到一个事实——极致的高深就是简洁。所以设计的大方向已经确定——尽量减少页面元素和装饰,通过科学的排版体现信息的本质。一个经久的设计一定是简洁的设计。同年微软针在Windows8 BUILD大会展示的Metro界面也印证了这个未来的设计趋势。 对于我来说,我是学计算机的,没有专门学过视觉设计,因此我购买了许多UI设计类的图书来学习。但至今,我并没有对自己的设计感到满意。我已经发现,“极致的高深就是简洁”其实更侧重与人的素养,...

人生 哲学

ASP.NET生成验证码

好吧,生成验证码不是什么秘密了。原理是产生随机字符,并将字符生成为图片,同时储存到Session里去,然后验证用户输入的内容是否与Session中的验证码相符。下面是本人网站生成验证码的handler: using System; using System.Web; using System.Drawing; public class VDC : IHttpHandler, System.Web.SessionState.IRequiresSessionState { //产生验证码的字符集(去除I 1 l L,O 0等易混字符) public string charSet = "2,3,4,5,6,8,9,A,B,C,D,E,F,G,H,J,K,M,N,P,R,S,U,W,X,Y"; public void ProcessReque...

Captcha Code

SharePoint 2010手动部署wsp包

昨天试着直接在SP网站上上传wsp,结果爆了。今天换了种办法在本机测试成功。赶紧写下经验之书以警后人…… 首先,只需要一个wsp文件,比如D:\SPDeploy\AMW.UI.wsp。dll是不需要额外拷贝的,因为wsp其实是个cab压缩包,用7z打开可以看见里面有个dll。 然后打开SharePoint 2010 Management Shell,用命令部署: 语法是:Add-SPSolution -LiteralPath "wsp路径",然后重启一下iis。 你会看到Deployed是False,没关系,这没有灭,只是剧情需要。现在在GAC里可以看见我们的dll了: 然后打开Central Admin: 点开左边的System Settings,选择Manage Farm Solutions。 之后你会看到我们的amw.ui.wsp是not deployed,...

SharePoint

用LINQ查询XML并绑定给GridView显示

前天嘴贱,建议老Y用XML存一个表格然后绑给GridView,本意是用个偷懒的办法快速解决了那个case,结果做的时候没那么方便,或者说直接把GridView绑定到一个XML文件不太好,如果通过DataTable来处理也显得比较麻烦。 比较好的办法其实是绑给业务对象,就和以前ORM一样做,GridView最终绑的是一个List。那么怎么来读取XML呢最方便呢?当然是用LINQ!可以参考我博客上的这篇文章:http://www.wyjexplorer.cn/Blog/View/EC3073A1BDFB9D90.html 今天抽出来单独写了一个Demo示众,3步搞定! 1.搞个XML文件: 1 Fucker 13838389438 No.250, Fucking Road...

GridView LINQ XML

CSS两列布局,左边自适应,右边固定

废话不多说,直接上代码,大家自己看一下: Layout *{ margin:0;padding:0 } .wrap { overflow:auto; _display:inline-block; padding: 10px; overflow: hidden; } .right { width: 200px; padding: 10px; background-color: #F4F4F4; border: 1px solid #CECECE; float: right; } .left { padding: 10px; background-color: #F4F4F4; border: 1px solid #CECECE; margin-right: 230px; }...

CSS Layout