山那边是海 发表于 2015-1-18 11:15:23

ASP.NET编程:asp.net mvc3:本人编写的一些渣滓代码,删前分享(2013-11-13)仓酷云 ...

竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。1.cshtm优化


[*]varstyle=(status.ID==planViewModel.StatusFirstPositive.ID||status.ID==planViewModel.StatusFirstOnboard.ID?"margin-left:17px;":"")
[*]+(status.ID==planViewModel.StatusLastOnboard.ID?"margin-right:17px;":"");
[*]<td>
[*]@if(status.IsDisplayedOnKanban)
[*]{
[*]<divclass="@(status.IsDisplayedOnKanban?"mini-status-indicator-status-onboard":"mini-status-indicator-status")@(status.ID==planViewModel.StatusHighlightedID?"boldtwinkle":"")"
[*]style="@style;border-color:@(status.Color);">
[*]@status.Title
[*]@if(status.ID==planViewModel.StatusHighlightedID)
[*]{
[*]<divclass="withnotices"style="margin-left:-2px;">
[*]<spanclass="notice">重点形态</span>
[*]</div>
[*]}
[*]</div>
[*]}
[*]else
[*]{
[*]<divclass="@(status.ID==planViewModel.StatusHighlightedID?"boldtwinkle":"")"
[*]style="color:@status.Color;@style;border-left:1pxsolid#AAA;width:18px;float:left;">
[*]@status.Title
[*]@if(status.ID==planViewModel.StatusHighlightedID)
[*]{
[*]<divclass="withnotices"style="margin-left:-2px;">
[*]<spanclass="notice">重点形态</span>
[*]</div>
[*]}
[*]</div>
[*]}
[*]</td>

优化后:

[*]varstyle=(status.ID==planViewModel.StatusFirstPositive.ID||status.ID==planViewModel.StatusFirstOnboard.ID?"margin-left:16px;":"")
[*]+(status.ID==planViewModel.StatusLastOnboard.ID?"margin-right:19px;":"");
[*]style+=status.IsDisplayedOnKanban?"border-color:"+status.Color+";":"border-left:1pxsolid#AAA;width:18px;float:left;";
[*]varClass=status.IsDisplayedOnKanban?"mini-status-indicator-status-onboard":"";
[*]Class+=status.ID==planViewModel.StatusHighlightedID?"boldtwinkle":"";
[*]<td>
[*]<divclass="@Class"style="@style">
[*]@status.Title
[*]@if(status.ID==planViewModel.StatusHighlightedID)
[*]{
[*]<divclass="withnotices"style="margin-left:-2px;">
[*]<spanclass="notice">重点形态</span>
[*]</div>
[*]}
[*]</div>
[*]</td>
判别思绪很复杂,就是:任何两个中央长相不异,则必定有能够兼并优化的中央。
办理思绪:
A.不休找到分歧处,在后面设置变量举行对照性界说(即便用?:对)
假如不是html而是CS代码,那末就是不休天生变量,大概函数的参数。
B.修正一个中央后,就革新考证是不是乐成
代码优化实践上是“重构”,只管代码变短了,但功效稳定。以是要不休考证功效是否是变更了。不要最初才考证,庞大情形下有风险。
2.切换参数完整不异的两个分歧函数


[*]<strong></strong>container.InnerHtml+=showImage
[*]<strong>?MFCUI.ImageLink(text,
[*]</strong>link,
[*]displayAsLink:displayAsLink,
[*]grayTextTitle:grayTextTitle,
[*]displayAsBoldTextOnPage:page,
[*]title:title,
[*]imgUrl:imgUrl,
[*]cssClass:MFCUI.HoverTwinkleTriggerBodyClass(link.ACT().Substring(1).Replace("/","-"))+""+cssClass,//cssClass:thislinkwilltinklewhenMFCUI.HoverTwinkleTrigger(link.ACT().Substring(1).Replace("/","-"))ishovered.
[*]showText:showText,
[*]returnTo:page)
[*]<strong>:MFCUI.Link(text,
[*]</strong>link,
[*]displayAsLink:displayAsLink,
[*]grayTextTitle:grayTextTitle,
[*]displayAsBoldTextOnPage:page,
[*]title:title,
[*]cssClass:MFCUI.HoverTwinkleTriggerBodyClass(link.ACT().Substring(1).Replace("/","-"))+""+cssClass,//Seecommentsabove.
[*]showText:showText,
[*]returnTo:page);<strong>
[*]</strong>
代码里边一向有下面这段函数,高低一样,就是切换一下ImageLink和Link。
杀代码的一个准绳是:任何两个长相不异的代码,必定有优化的潜力和需要(上高低下修改几回,极可能高低的参数就纷歧样了)。
修正后的了局很复杂:

[*]container.InnerHtml+=MFCUI.ImageLink(text,
[*]link,
[*]displayAsLink:displayAsLink,
[*]grayTextTitle:grayTextTitle,
[*]displayAsBoldTextOnPage:page,
[*]title:title,
[*]imgUrl:imgUrl,
[*]<strong>showImage:showImage,
[*]</strong>cssClass:MFCUI.HoverTwinkleTriggerBodyClass(link.ACT().Substring(1).Replace("/","-"))+""+cssClass,//cssClass:thislinkwilltinklewhenMFCUI.HoverTwinkleTrigger(link.ACT().Substring(1).Replace("/","-"))ishovered.
[*]showText:showText,
[*]returnTo:page);
改完了大概看上往很复杂,事先但是断断续续夷由了几天赋想起来怎样改的。
并且实践上修正的时分才想起来,实在Link里边原本就是挪用ImageLink(....showImage:false,....)发生的。
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。

只想知道 发表于 2015-1-20 18:37:14

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。

再现理想 发表于 2015-1-20 18:37:14

JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。

变相怪杰 发表于 2015-1-29 14:39:57

通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。

兰色精灵 发表于 2015-2-4 17:46:23

可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

活着的死人 发表于 2015-2-6 21:54:44

是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

若相依 发表于 2015-2-18 20:52:13

Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。

愤怒的大鸟 发表于 2015-3-6 10:38:06

在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的

小魔女 发表于 2015-3-11 05:22:27

关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。

爱飞 发表于 2015-3-17 21:09:42

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

admin 发表于 2015-3-25 02:42:47

业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
页: [1]
查看完整版本: ASP.NET编程:asp.net mvc3:本人编写的一些渣滓代码,删前分享(2013-11-13)仓酷云 ...