|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)asp.net|创立EnglishVersion:http://dflying.dflying.net/1/archive/110_build_your_own_transformers_in_aspnet_atlas.html
ASP.NETAtlas中的绑定(binding)是一种将两个工具毗连起来的壮大办法。(您能够参考http://dflying.cnblogs.com/archive/2006/04/04/366900.html失掉更多关于绑定的信息。)Atlas绑定会主动将源工具上变更了的属性使用到方针工具的指定属性上。但偶然候您会但愿在使用到方针工具之前对这个属性举行一些修正。好比,当显现一个有索引的列表时,您大概但愿这个索引从1入手下手递增,而不是JavaScript中默许的从0入手下手。这时候候您就必要利用AtlasTransformer了。Atlas中的Transformer是一品种似管道的器材,它将拔出到由源工具的属性向方针工具的属性赋值的过程当中,以期对将要赋值的属性举行需要的过滤/粉饰/转换(在这里是将源属性加1),然后再赋值给方针属性。
Atlas供应一些内建的transformer,比方Add,Multiply,Compare等。但是在实践开辟中,年夜多半情形下我们都必要界说本人的transformer。让我们经由过程开辟一个CustomBooleanTransformer的例子来熟习怎样誊写自界说的transformer。
CustomBooleanTransformer用来将布尔值转换为我们自界说的格局,比方Yes/No大概Completed/InProgress。假如我们选择利用绑定来将一个布尔值显现给用户,那末这个transformer将会是非常有效的,它带给用户加倍友爱的用户体验。
大致上,创立一个transformer将有以下四个步骤:
获得从源绑定工具中传进的将被转换的值。这里我们起首挪用get_value()获得传进的值,并将其转换为布尔型。
获得transformer的参数。这里的参数是一个能够被逗号(,)分红两部分的字符串。布尔值true将被转换为第一部分,false将被转换为第二部分。假如传进的参数为空,则用默许的字符串true/false取代。
举行转换。在这个步骤应该经由过程您本人的逻辑把传进的值转换成将要传出的值(一样平常会用到上一步骤中获得的transformer的参数)。这里我们起首用逗号(,)将参数分红两个部分,然后用第一部分取代true,用第二部分取代false。假如参数不克不及被分红两个部分,那末利用true/false取代。
将转换后的值输入,挪用办法set_value()来完成。
上面是CustomBooleanTransformer的JavaScript代码,将其保留为CustomBooleanTransformer.js。
Sys.BindingBase.Transformers.CustomBoolean=function(sender,eventArgs){
//step1,getinputvalue.
varvalue=eventArgs.get_value();
if(typeof(value)!=boolean){
value=Boolean.parse(value);
}
//step2,getargumentswillbeusedintrasforming.
varcustomString=eventArgs.get_transformerArgument();
if(customString==null||customString==){
customString=true,false;
}
//step3,dothetransformation.
varcustomValues=customString.split(,);
if(customValues.length!=2)
{
customValues[0]=true;
customValues[1]=false;
}
varnewValue=value?customValues[0]:customValues[1];
//step4,setthetransformedvalueasoutput.
eventArgs.set_value(newValue);
}
OK,如今让我们测试一下这个CustomBooleanTransformer。在页面上增加一个checkbox和一个textbox并将他们绑定起来。当checkbox被选中/作废选中时,textbox中会显现响应的被转换后的布尔值。
上面是ASPX文件中的HTML界说。不要健忘在ScriptManager中增加对CustomBooleanTransformer.js文件的援用。
<atlas:ScriptManagerID="sm1"runat="server">
<Scripts>
<atlas:ScriptReferencePath="CustomBooleanTransformer.js"/>
</Scripts>
</atlas:ScriptManager>
<inputid="myCheckbox"type="checkbox"/>
<inputid="myTextbox"type="text"/>
上面是Atlas剧本界说。这里指定tranformerArgument为‘Yes,No’,以期让布尔值true转化为Yes,false转化为No。<pagexmlns:script="http://schemas.microsoft.com/xml-script/2005">
<references>
</references>
<components>
<checkBoxid="myCheckbox"/>
<textBoxid="myTextBox">
<bindings>
<bindingdataContext="myCheckbox"dataPath="checked"
property="text"transform="CustomBoolean"transformerArgument="Yes,No"/>
</bindings>
</textBox>
</components>
</page>
计算机发展到这个时候,很多技术日益成熟,想学好一种技术都是不容易的,当你学会用的时候你对它的很多原理可能很不了解) |
|