可能受到经济危机的影响,很多同学刚过完年就去各地找工作,所幸一期的学员基本都已落实工作问题,但当真正进入工作岗位后,学员们才发现原来工作原没有想象中的美好,每天和我联系的学员络绎不绝,有诉苦的有求教问题的还有想帮忙换工作的,说实话2月-3月这段时间内我QQ基本没有休息。
下面我把举些有特色的例子,希望能供学员们看后思索:
1、有位女学员,在湘恒学习的时期算是认真的了,经常有不断的问题缠得助教们整堂课都待在她身边。但她找到工作后不久,就急急忙忙找到我:
OO17:40:51
田老师在没呢
OO 13:43:50
田老师在没
OO 17:10:24
田老师在没
KOON 17:17:07
在,下午好啊
OO 17:18:14
想问下
如果发布公司的网站
能给我些建议不
我还没发布过网站
OO 17:18:31
你现在程序都写好了吗?
OO 17:19:30
我只是做好了前台
公司急就先发布
再做后台可以吗
KOON 17:22:23
……那就没有什么技巧可言了, ftp传上去就行
OO 17:23:13
什么意思呢
不需要服务器吗
KOON 17:24:20
恩
KOON 17:24:24
不是不要服务器
OO 17:24:47
传到服务器上一般都通过ftp软件
OO 17:25:11
不懂
KOON 17:26:14
…………
OO 17:26:28
服务器
是买网上的呢
还是要公司的呢
KOON 17:27:41
由你们老总决定啊
在我的反复提醒下她终于记起来世界上还有个东西叫做Google……
后来她决定将网站安装在自己公司的机器上,但装了SQL Server系统后数据库仍然一直无法使用,我远程协助一看,一台机器上装了SQL Server 2005 Express 和SQL Server 2005 Enterprise,默认的服务名是给Express服务器的,难怪她无法启动。
2、还是一个女学员,她在深圳找到了一份工作,也许待遇不错,所以工作的压力更大了,她就业后基本每天都和我沟通一个小时,总有问不完的问题,昨天她又遇到了页面脚本报错:
KOON 16:34:29
在你本机上调试有这个问题吗?
XXX 16:34:59
没
XXX 16:35:10
没上传之前浏览好好的
KOON 16:35:54
可能你的页面被挂马了
XXX 16:36:06
什么意思?
KOON 16:36:08
你仔细检查下出错的行,那个javascript是干什么用的
KOON 16:36:13
google 挂马
XXX 16:38:18
我代码里面只有一段显示时间的代码
XXX 16:38:31
<script type="text/javascript">
var today=new Date();
var day; var date;
if(today.getDay()==0) day=" Sunday"
if(today.getDay()==1) day=" Monday"
if(today.getDay()==2) day=" Tuesday"
if(today.getDay()==3) day=" Wednesday"
if(today.getDay()==4) day=" Thursday"
if(today.getDay()==5) day=" Friday"
if(today.getDay()==6) day=" Saturday"
date=(today.getMonth()+1)+"-"+today.getDate()+"- "+(today.getFullYear());
document.write(date + day);
</script>
KOON 16:41:43
……去掉这段代码再上传上去看看
XXX 16:42:43
在你那打开还有其他问题没?我这里menu打不开 左边那些链接都打不开
KOON 16:43:02
没
KOON 16:43:16
javascript脚本问题不断,我干脆关掉了这个页面
XXX 16:43:30
哦
XXX 16:45:36
那我这为什么展开不了menu呢?
KOON 16:46:26
……用排除法检查啊
XXX 16:47:00
把它删掉吗?
KOON 16:47:29
注释掉即可啊
XXX 16:47:40
会不会是文件没上传完导致的?
KOON 16:47:58
也有可能
KOON 16:48:05
你为什么不动手测试一下呢?
XXX 16:48:19
怎么测试
KOON 16:48:43
。。。。
XXX 16:48:51
你是说看它是否传完?
KOON 16:49:12
你比较下远端服务器的文件列表和本地文件列表,看看文件的数量和大小是否有区别啊
KOON 16:49:28
这些问题你完全可以自己思考一下就可动手做的
XXX 16:49:30
恩
KOON 16:49:47
别依赖他人,依赖人只会换来失望
KOON 16:50:02
求人不如求己
XXX 16:50:08
呵呵 田老师教训的是
KOON 16:50:26
不敢当,赶紧去试把
XXX 16:50:33
恩
3、这次是个男生,他没有读大学来湘恒学习,为了学习他吃过很多苦。因为这点,我对他期许也很大。现在他终于找到工作了,我们在此恭喜他。但公司也立即交给了他一个任务,学会调用一个表格控件,对于新人来说这往往意味着公司的考验,他压力很大。得到他的许可我发下他完成任务的过程:
第一天:
YY 10:28:13
田老师我和ZZZ在一个公司
KOON 10:29:06
嗯,前天听他说了,恭喜你啊!
YY 10:29:48
谢谢三天后:
YY 09:25:22
田老师感觉好难啊
KOON 09:31:54
上班辛苦啊?
YY 09:32:35
辛苦我到不怕
哈哈
就是要做的出来
YY 09:32:47
有些东西好复杂的
KOON 09:33:40
复杂问题咱们可以简单化
YY 09:34:08
你今天晚上有课不KOON 09:34:37
今天晚上没课,最近的上课时间是本周三又过了一天:
YY 08:53:30
哈哈 田老师
YY 08:53:33
接收文件成功,保存于C:\Documents and Settings\JunTian\My Documents\My QQ Files\test.rar。
KOON 08:54:55
是不是要做成这张jpg内的图样式?
YY 08:55:27
是的 他的要求是做成动态的YY 08:57:11
他要我用他给我的那些条件做出来
KOON 08:58:05
嗯,了解
KOON 08:58:15
你做成了怎样的样子?
YY 08:58:31
我 吧我做的发给你看看
KOON 08:58:42
截图就行
KOON 08:58:49
截大一点
YY 08:59:01
没效果呢
KOON 08:59:28
?
YY 08:59:32
昨天晚上搞到3点气死我啦
KOON 08:59:51
……速度
YY 09:01:27
这是我做的
KOON 09:01:31
??
YY 09:01:37
接收文件成功,保存于C:\Documents and Settings\JunTian\My Documents\My QQ Files\[YY].自己动手结果.rar。
KOON 09:01:48
KOON 09:02:06
以后注意请像这样说明清楚
KOON 09:02:18
第3个wwwroot.rar是做什么用的?
YY 09:03:02
那个是放在wwwroot文件夹里的才可以跑起来
YY 09:03:19
web文件
KOON 09:03:42
那前面那个?
YY 09:04:07
数据源需要自己构建
也是的 那是后台代码
KOON 09:04:28
?
KOON 09:04:32
请说清楚把
KOON 09:04:37
我实在被你搞糊涂了
YY 09:05:46
晕!
这是一个解决方案下的东西
前面的那个是后台cs文件
后面这个是前台的web文件
YY 09:07:09
麻烦先帮我吧这个问题搞定把
YY 09:07:13
谢谢啦
YY 09:07:21
对方取消了向您发送文件“wwwroot.rar” (85KB)的请求。
KOON 09:07:43
前台和后台都放在项目中的,你不是发给我一个项目?
YY 09:08:14
但是是分开放的
所以我就分开压缩啦
KOON 09:08:30
分开放?
YY 09:08:41
在硬盘里也是分开放的咯
YY 09:09:10
是的好像和iis服务有关
YY 09:09:32
我也有点搞不懂呢只知道这样做
KOON 09:09:40
呵呵
KOON 09:56:37
我下载vs 2003现在还没有好,只能通过editplus来看你的源码
YY 09:57:29
我把原代码发给你把
KOON 09:57:53
我已经在看了
KOON 09:58:02
现在你的代码运行起来是个什么样子
KOON 09:58:07
截屏给我看下
YY 09:58:41
刚才看见效果但是差的远啊
在调试
KOON 09:58:52
你加紧KOON 09:59:03
给我看看效果,因为我这里没有vs2003,不好运行
YY 10:00:25
<table id=""cellspacing="1" border="0" style="background-color:#6ABBEA;width:100%;"></table>
现在只出来这个东西
YY 10:00:38
根本没文字
KOON 10:05:38
你是不是忽略了添加行进表格这步
YY 10:05:58
接收文件成功,保存于C:\Documents and Settings\JunTian\My Documents\My QQ Files\新建 文本文档 (2).txt。
KOON 10:05:58
这个又是什么?
YY 10:05:59
你帮我看看这个吧
YY 10:06:13
是我自己写的
YY 10:06:39
添加数据的就是这里报错
KOON 10:06:41
YY,请更加严谨一些
KOON 10:06:51
文件名起的清楚点
KOON 10:07:19
KOON 10:07:21
?
KOON 10:07:28
出错的在第几行?
KOON 10:07:33
你不要急
KOON 10:07:40
要学会沟通
YY 10:07:58
cgc.Add(ComplexDataGridRow rows);//将格子集合添加到行集合中
KOON 10:07:59
我不是你,你不说出来我是不会知道你的想法的
KOON 10:08:02
第几行?
YY 10:08:36
到数上去第4行
KOON 10:08:55
KOON 10:09:02
报错信息是怎样的?
YY 10:10:45
数据类型转换有问题
将格子集合添加到行集合中的时候格子是ComplexDataGridCellCollection这中类型但是行集合是ComplexDataGridRow类型
YY 10:12:24
c:\inetpub\wwwroot\CreatIT.WebUI1\WebForm1.aspx.cs(79): 无法将类型“CreateIT.SRP.WebUI.Common.ComplexDataGridCellCollection”转换为“CreateIT.SRP.WebUI.Common.ComplexDataGridRow”
KOON 10:14:24
ComplexDataGridRow rows,这个变量从哪里来的?
YY 10:14:55
我定义的一个行类型的变量
YY 10:15:39
这个方法他需要这个类型变量
KOON 10:16:24
这个变量的具体实例化语句在哪里?
KOON 10:17:33
ComplexDataGridRowCollection这个类是需要实例化的,那么它的参数也需要吧
YY 10:18:58
我吧这两个类发给你看看
YY 10:19:28
/// <summary>
/// 项目中的行。
/// </summary>
public class ComplexDataGridRow
{
#region 私有
private bool isHeader;
private ComplexDataGridCellCollection cells;
#endregion#region 属性
/// <summary>
/// 是否为表头。
/// </summary>
public bool IsHeader
{
get { return this.isHeader; }
set { this.isHeader = value; }
}
/// <summary>
/// 单元格集合。
/// </summary>
public ComplexDataGridCellCollection Cells
{
get { return this.cells; }
}
#endregionpublic ComplexDataGridRow() { this.cells = new ComplexDataGridCellCollection(); }
}YY 10:19:46
/// <summary>
/// 行集合。
/// </summary>
public class ComplexDataGridRowCollection : System.Collections.CollectionBase
{
#region 属性
/// <summary>
/// 获得或设置项。
/// </summary>
public ComplexDataGridRow this[int index]
{
get { return this.List[index] as ComplexDataGridRow; }
set { this.List[index] = value; }
}
#endregion/// <summary>
/// 新增记录。
/// </summary>
/// <param name="item">项目</param>
/// <returns>返回新增后的索引</returns>
public int Add(ComplexDataGridRow row)
{
return this.List.Add(row);
}}
YY 10:20:13
现在吧行添加到行集合怎么办呢?
KOON 10:22:03
ComplexDataGridRowCollection myrowCollection = new ComplexDataGridRowCollection();
ComplexDataGridRow myrow = new ComplexDataGridRow();
myrowCollection.Add(myrow);这样就可以了
YY 10:25:22
效果还是和刚才的一样我快疯掉啦
呵呵
动手能力还是不足啊
KOON 10:26:30
……
KOON 10:26:48
你的ComplexDataGridRow需要有实际的对象啊
KOON 10:26:53
要实例化
KOON 10:27:06
你看看ComplexDataGridRow的构造函数是怎么写的
YY 10:27:57
public ComplexDataGridRow() { this.cells = new ComplexDataGridCellCollection(); }
他去获取一个行集合啊
YY 10:28:42
这样获取的是格子集合
刚才说错啦是格子集合
YY 10:29:06
需要吧这个格子集合转换成行
KOON 10:29:10
这个是默认的构造函数,他不是获取,而是添加了一个对行集合变量的引用,仍然没有实例化
YY 10:29:49
哦!!
那我应该怎么写呢
KOON 10:30:49
直接问提供给你调用类的人吧
KOON 10:31:25
这个构造他最清楚的
KOON 10:31:40
这是最快解决问题的办法,不懂就问是好习惯
YY 10:32:45
项目好忙的他天天加班到12点YY 10:33:00
不好意思去问
KOON 10:34:22
…………现在不问能解决问题么?YY 10:35:38
也是的!!!
你那边2003还在下载吗?
KOON 10:36:57
还在下载中,只有第一张盘完结了
YY 10:51:02
我调试的时候在 /// <summary>
/// 项目单元格。
/// </summary>
public class ComplexDataGridCellCollection设啦一个断点但是发现他根本就不能调用
KOON 10:51:08
……
KOON 10:51:15
这个是构造函数
YY 10:51:27
没有调用这个类里的构造函数
YY 10:51:37
程序没进来
KOON 10:52:23
程序里面有没有实例化这个类的代码?就是 new 一下它
YY 10:53:12
ComplexDataGridRow myrow = new ComplexDataGridRow();
ComplexDataGridRowCollection myrowCollection = new ComplexDataGridRowCollection();//实例化行集合对象
已经有啦
YY 10:54:11
这个出问题的是不是在难为我啊
晕死
KOON 10:54:24
是啊
KOON 10:54:38
不是在为难你,我觉得这个是比较容易的,没有那么复杂
KOON 10:54:42
可能你搞错了方向
KOON 10:54:57
你先画个一格一行的表格
KOON 10:55:16
再试着画两格一行的表格
KOON 10:55:39
最后试着画下插入一个表格在一格内的表格
KOON 10:55:54
尝试成功后就基本能掌握了,别想一次性到位
KOON 10:56:19
做事可以通过将复杂问题简单化来提高解决的效率
YY 10:56:48
两个for循环去遍历我的那个table来做的
YY 10:57:18
int countRow=table.Rows.Count;
int countCell=table.Columns.Count;
for(int i=1;i<=countRow;i++)
{
for(int j=1;j<countCell;j++)
{
ComplexDataGridCellCollection cdcc=new ComplexDataGridCellCollection();
ComplexDataGridCell cell= cdcc.Add("1",i,j,10,AlignType.Left);//生成单元格
cdcc.Add(cell);//将单元格添加到格子集合中
KOON 11:00:31
不用那么复杂
KOON 11:00:42
你先搞个一格一行的试试吧
YY 11:14:31
田老师要是2003下载完啦
你做一个样品给我看一下吧
KOON 11:19:59
……嗯
YY 12:39:46
田老师下载完啦没
KOON 12:54:46
……没YY 14:28:07
没成功还是没数据
只要显示数据出来我就很高兴啦
什么都没有
KOON 14:28:44
一格的代码你是怎么写的?
YY 14:29:26
ComplexDataGridCellCollection cdcc=new ComplexDataGridCellCollection();
ComplexDataGridCell cell= cdcc.Add("1",i,j,10,AlignType.Left);//生成单元格
KOON 14:30:14
ComplexDataGridCellCollection 这个不是一个DataGrid吧?
KOON 14:31:21
这样当然不会有东西出现了
KOON 14:31:27
public class ComplexDataGridCellCollection : System.Collections.CollectionBase
KOON 14:31:45
他只是对集合类进行了继承而已,和呈现没有任何关系!
YY 14:32:05
我看看
KOON 14:33:28
ComplexDataGrid mygrid = new ComplexDataGrid();
mygrid.rows = cdcc;
你添加这2行在后面看看
YY 14:34:58
没错啊
那个累里面是有个生成单元格的方法
KOON 14:36:47
?
KOON 14:36:55
你想表达的意思是?
YY 14:37:25
那个类里面有一个生成单元格的方法
YY 14:38:58
我直接去调用哪个方法不就生成一个单元格吗?
KOON 14:39:47
……不是的
KOON 14:39:48
// 输出表格
// this.LabelDataGrid.Text = complex.Html;
KOON 14:40:07
你看到了这句话没?你所有的内容最后都是作为一个<table>的文本输出
KOON 14:41:10
这个方法非常不好,对性能和架构都是个损害,但它确实是这样做的
KOON 14:41:32
之前所构建的所有东西,都被当成了一个Hmtl文本字符串
KOON 14:42:28
只能说太遗憾了,设计者对Webform一无所知,纯用asp当作asp.net在搞
YY 14:44:06
有个很奇怪的现象他也不问我做的怎么样啦
YY 14:44:29
反正就让我在做
KOON 14:45:04
不用迷惑
KOON 14:45:11
你继续做,做出来给他看
KOON 14:45:16
加油
YY 14:45:40
谢谢!
要是今天做不出来下班啦我来找你啊
KOON 14:46:11
今天湘恒没有课,我不在公司
KOON 14:46:14
你有这个时间
KOON 14:46:23
完全可以自己尝试研究一下
YY 14:47:03
哦!
好的
KOON 14:47:26
你先拖个Label控件到页面上,然后动手设置一下它的Text属性为你所创建的ComplexDataGrid对象的Html属性
KOON 14:48:15
为什么不先自己试一下呢?要知道我说的并不可信,一切应该在你自己摸索实践过以后才有用
KOON 14:48:42
不要完全依赖我,我只能给你提供建议,真正做决定的是你自己
KOON 14:48:54
人贵自强
YY 14:50:25
好的!!!
我会加油的谢谢田老师
KOON 14:51:59
好,你先把第一个格子输出来再说
YY 16:00:41
终于发现单元格集合里没有东西单元格是生成啦
KOON 16:05:23
?
KOON 16:05:38
YY,你需要提高你的文字表达能力了
YY 16:06:03
也就是没有把单元格添加到单元格集合里去
YY 16:06:20
哈哈
交流多啦就没问题啦
KOON 16:06:26
嗯,现在搞定了?
再过了一天:
YY 11:40:14
此表横着看前面两个夸啦两行后面两个夸啦三行
现在我想根据最下面的一行把他们分成两类怎么做可以给前面的四行分成一类后面的六行分成一类
KOON 11:44:28
?
KOON 11:44:38
YY,我不懂你的意思
……他在晚上9:30课程结束后背着笔记本来到湘恒,我们一起对这个问题探讨到了很晚,我没有对他具体演示该如何编写代码,而是询问他和这个表格相关的问题,启发他去真正认识这个任务,他终于发现原来在接手任务的时候就没有仔细的去想这个问题本身,因为当时心情紧张且激动以至于对这个任务的几个关键点都认识不够。我建议他在工作空闲的时候,去跟主管再聊聊,如果主管心情好,再乘机问到这些问题的答案,他答应了。
今天:
YY 11:00:04
谢谢!!!!!!
田老师昨天晚上的指导
基本上实现啦
KOON 11:02:19
搞定就好!
KOON 12:46:56
最近准备在博客里面整理下新人工作的指南,想把你的事例写进去(不会透露名字)给其他学弟妹们参考,你同意么
YY 12:47:30
可以咯
KOON 12:49:29谢谢。
新人走入职场,总有很多困难,如果还没有准备好,那就多看看 阿朱的《走出软件作坊》一书,对你的提高是很明显的。