20070211 asp.net 程序员 通用界面
http://www.yippeesoft.com
如何识别优秀的程序员?并不是像听起来那么容易。在这儿工作经验的作用是很有限的,因为伟大的程序员不一定要‘正式’的工作经历来证明他们的伟大。
1,激情。
我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。激情是一个优秀程序员的重要指标。
2,自学好学
编程领域始终发展变化着,不出一年有些新技术就变成了老技术,这并不是说好的程序员要对所有新技术跟进,但有些却对学习任何新技术都没有兴趣。他们通常在学校学习了编程,然后工作后单位安排学什么就学什么。如果在招聘中你听到“让我培训一个星期我就会胜任这个工作”那不要雇佣他。实际上,真正优秀的程序员始终谈论着你所不知道的新技术,向人们解释为什么你必须用这个技术,哪怕没有听众听得明白,哪怕他自己也不明白。
3,聪明
聪明包括很多因素,情绪和社会交际只是其中之一。好的程序员绝不木讷,他们是最聪明的人,他们中的许多善于交际,健谈、兴趣广泛。
4,隐性的经验
—好的程序员通。常有自己的私人的一些研究、爱好、项目,而这些是他们不写在简历上 (通常觉得不值得写),但表现出来却可能恰恰是他的潜能、深度和后劲所在。
5,技术多样性
由于好的程序员喜欢学习和涉猎新技术,所以一般来说超过22岁的都熟知很多新技术,而且对多种技术的长短有 “强烈”的个人意见/见解,喜好尝试新鲜技术。
6,资格证书
资格证书并不是识别真正程序员的方法,MCSE、SCJP、说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。
原文作者在文末写道:以上所说的标准并不是绝对的,因为有些优秀的程序员确实不符合上述,而有些bad程序员却符合了。但相信这些对大多数真正的程序员都适用。
总结而言,优秀的程序员通常有一下特点:
n 对技术充满激情;
n 将编程作为一种爱好
n 如果你允许会滔滔不绝地跟你谈论技术
n 有过个人的开发经历(与4意思相同)
n 坚持认为某种技术最好
n 如果让他用他认为不好的技术他会非常别扭
n 聪明、健谈、兴趣广泛
n 在大学和工作前就开始接触程序
ASP.NET下面主界面的框架,现在了解下来有这么几种方法:
1.一种是用FrameSet的方法,
2.ASP.NET Starter Kit中的方法是动态装入用户控件。
3.ASP.NET2.0的方法是Master Pages
http://www.developer.com/net/article.php/3099171
在ASP.NET1.1中有一个类似的方案:
http://www.cnblogs.com/dudu/articles/1503.aspx
http://www.asp.net/ControlGallery/ControlDetail.aspx?Control=385&tabindex=2
现在我要开发一个程序,要对十多个不同的表进行常用的
增加,
删除,
编辑等操作,但如果对每一个表都编写一个aspx文件,设计同一布局的界面,将是十分繁重重复的工作,所以我想是否可以设计一个通用界面解决这个问题,但如何实现想请各位高手指点。
可以实现
以前曾经做过一个类似的
我的做法是:
一个通用的数据访问组件,可以实现记录的增加,删除,编辑,搜索等
每个表的结构都当作一个对象处理,记录对象中附加一些信息
包括:
1、每个数据库字段的类型、取值范围(这些信息用作验证用户输入的数据)
2、这个字段的控件类型,例如TextBox,DropDownList等(这写信息用于自动生成控件)
3、表的信息,例如字段数目,名称等
一个典型的记录对象片断是这样的
public class Area
&leftsign;
public string AreaName&leftsign;get;set;&rightsign;
public string AreaID&leftsign;get;set;&rightsign;
……
System.Data.DataColumn col_0 = new System.Data.DataColumn();
col_0.ColumnName = "AreaName";
col_0.DataType = typeof(System.String);
col_0.MaxLength = 50;
col_0.ExtendedProperties["FullColumnName"]="[Area].[AreaName]";
col_0.AllowDBNull = false;
col_0.AutoIncrement = false;
col_0.ExtendProperties["ControlType"]="System.Web.UI.WebControl.TextBox";
……
&rightsign;
然后就是自动显示界面的问题了
对于这个可以做一个From的组件,专门处理界面的显示问题
例如根据记录对象,自动生成输入界面等
然后实现保存
效果说明:
这种做法对于处理拥有很多字段的表很高效!
不用做每个页面
哦,再给点代码
System.Web.UI.Control ctl=null;
try
&leftsign;
Type t=Type.GetType(controlType);
ctl=(System.Web.UI.Control)t.Assembly.CreateInstance(t.FullName.Trim());
&rightsign;
catch(Exception ex)
&leftsign;
throw(ex);
&rightsign;
这个我做过,其实不难,但步骤挺烦的,可以做成一个摸板,然后从项目中添加新项,完全和新建aspx文件一样的操作。
1.在VS的这个目录下新建一个控件文件夹"CustomerControl"
D:\\Program Files\\Microsoft Visual Studio .NET\\VC#\\VC#Wizards\\CustomerControl
在该文件夹下继续新建文件夹“Templates”,再在Templates中创建"2052",然后把你的用户控件copy进去。
2.转到目录D:\\Program Files\\Microsoft Visual Studio .NET\\VC#\\CSharpProjectItems
下,新建注册文件CustomerControl.vsz,可以用记事本来写
内容为:
VSWIZARD 7.0
Wizard=VsWizard.VsWizardEngine
Param="WIZARD_NAME = CustomerControl"
Param="WIZARD_UI = FALSE"
Param="PROJECT_TYPE = CSPROJ"
3.转到目录D:\\Program Files\\Microsoft Visual Studio .NET\\VC#\\CSharpProjectItems\\WebProjectItems新建目录CustomerCotrolTemplates
(这个文件夹可以不建,你把他放到resource 里面也可以,不过这样就不容易区分哪些是系统自身的,哪些是自己创建的,在创建新项的时候就从这个文件夹里选)
再再里面创建新的注册文件:CustomerControlTemplates.vsdir
内容为:
..\\..\\CustomerControl.vsz&line;&leftsign;FAE04EC1-301F-11d3-BF4B-00C04F79EFBC&rightsign;&line;#2378&line;20&line;#2379&line;&leftsign;FAE04EC1-301F-11d3-BF4B-00C04F79EFBC&rightsign;&line;4558&line;0&line;CustomerControl.ascx
这样再运行VS环境,在创建新项的时候就会有CustomerContrl.ascx摸板了
历史博文
- 排球犯规 - 2009
- 20070612 型号 液晶 排球鞋 回力 - 2007
- 0521 牙周炎 牙龈发炎 - 2006
- B2SSL Becky! win98/winme 支持SSL插件 - 2005