仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 561|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计在ASP.NET Atlas中创立自界说的Transfo...

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:36:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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>
计算机发展到这个时候,很多技术日益成熟,想学好一种技术都是不容易的,当你学会用的时候你对它的很多原理可能很不了解)
只想知道 该用户已被删除
沙发
发表于 2015-1-19 18:40:38 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
谁可相欹 该用户已被删除
板凳
发表于 2015-1-25 11:32:06 | 只看该作者
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-2 21:55:53 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-8 08:06:43 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
海妖 该用户已被删除
6#
发表于 2015-2-25 02:12:47 | 只看该作者
我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-7 15:49:52 | 只看该作者
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
蒙在股里 该用户已被删除
8#
发表于 2015-3-15 09:13:17 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
爱飞 该用户已被删除
9#
发表于 2015-3-21 23:19:05 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 05:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表