仓酷云

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

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

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装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 | 只看该作者
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
兰色精灵 该用户已被删除
5#
发表于 2015-2-4 17:46:23 | 只看该作者
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
活着的死人 该用户已被删除
6#
发表于 2015-2-6 21:54:44 | 只看该作者
是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。
若相依 该用户已被删除
7#
发表于 2015-2-18 20:52:13 | 只看该作者
Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-6 10:38:06 | 只看该作者
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
小魔女 该用户已被删除
9#
发表于 2015-3-11 05:22:27 | 只看该作者
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
爱飞 该用户已被删除
10#
发表于 2015-3-17 21:09:42 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
admin 该用户已被删除
11#
发表于 2015-3-25 02:42:47 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-6-8 20:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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