ASP.NET教程之静态数据范例转换仓酷云
感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。这是我的工具包里的一部分代码部分办法已被我移值到我的框架往,做为实体的基类的默许办法。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Web.UI;
usingSystem.Reflection;
usingSystem.Web.UI.WebControls;
namespaceToolkit
{
///<summary>
///表的字段设置/获到值操纵类
///</summary>
publicclassTableValue
{
Objectentity;//实体对象
TypetypeInfo;//实体对象范例
///<summary>
///表的字段设置/获到值操纵类机关函数
///</summary>
///<paramname="entityInstance">传进表的实体</param>
publicTableValue(ObjectentityInstance)
{
entity=entityInstance;
typeInfo=entity.GetType();
}
///<summary>
///将实体的值设置到控件中
///</summary>
///<paramname="ct"></param>
publicvoidSetTo(Controlct)
{
stringpropName=ct.ID.Substring(3);
objectvalue=GetPropertyValue(propName);
switch(ct.GetType().Name)
{
case"TextBox":
((TextBox)ct).Text=Convert.ToString(value);
break;
case"Literal":
((Literal)ct).Text=Convert.ToString(value);
break;
case"Label":
((Label)ct).Text=Convert.ToString(value);
break;
case"DropDownList":
((DropDownList)ct).SelectedValue=Convert.ToString(value);
break;
case"CheckBox":
booltempValue;
if(Convert.ToString(value)=="1")
{
tempValue=true;
}
else
{
bool.TryParse(Convert.ToString(value),outtempValue);
}
((CheckBox)ct).Checked=tempValue;
break;
}
}
///<summary>
///将控件的值设置到实体中[默许从控件中主动猎取值]
///</summary>
///<paramname="ct">控件</param>
///<paramname="value">自界说值,若此值存在,则不从控件中猎取值</param>
publicvoidGetFrom(Controlct,objectvalue)
{
stringpropName=ct.ID.Substring(3);
if(value==null)
{
switch(ct.GetType().Name)
{
case"TextBox":
value=((TextBox)ct).Text.Trim();
break;
case"Literal":
value=((Literal)ct).Text;
break;
case"Label":
value=((Label)ct).Text;
break;
case"DropDownList":
value=((DropDownList)ct).SelectedValue;
break;
case"CheckBox":
value=((CheckBox)ct).Checked;
break;
}
}
SetPropertyValue(propName,value);
}
///<summary>
///将控件的值设置到实体中
///</summary>
///<paramname="ct">控件</param>
publicvoidGetFrom(Controlct)
{
GetFrom(ct,null);
}
///<summary>
///猎取对象指定属性的值
///</summary>
///<paramname="obj">对象</param>
///<paramname="propName">属性称号</param>
///<returns></returns>
privateobjectGetPropertyValue(stringpropName)
{
PropertyInfoprop=typeInfo.GetProperty(propName);
returnprop.GetValue(entity,null);
}
///<summary>
///设置对象指定属性的值
///</summary>
///<paramname="obj">对象</param>
///<paramname="propName">属性称号</param>
///<returns></returns>
privatevoidSetPropertyValue(stringpropName,objectvalue)
{
PropertyInfoprop=typeInfo.GetProperty(propName);
TypevalueType=null;
if(prop.PropertyType.Name.Contains("Nullable"))
{
valueType=Type.GetType(prop.PropertyType.FullName.Substring(19,prop.PropertyType.FullName.IndexOf(",")-19));
}
else
{
valueType=prop.PropertyType;
}
try
{
if(valueType.Name!="DateTime"||Convert.ToString(value)!="")
{
value=System.ComponentModel.TypeDescriptor.GetConverter(valueType).ConvertFrom(Convert.ToString(value));
prop.SetValue(entity,value,null);
}
}
catch
{
}
}
}
}
无论谁倒了对双方阵营的粉丝们也是有害无益。 在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.ckuyun.com),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。 Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。 asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了. ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。 那么,ASP.Net有哪些改进呢? 能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页:
[1]