仓酷云

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

[学习教程] ASP.NET网页设计一种无效的导游完成体例仓酷云

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

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

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

x
我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。在软件开辟中,关于必要对照庞大,必要多步完成的操纵,我们一样平常接纳导游的体例来供应用户界面。导游计划自己其实不坚苦,但假如要做到通用性强,模块间只管低耦合,我们仍是得动一下头脑的。上面先容一下我的完成体例。
 典范的导游界面,主界面上一样平常包括两个地区,一是选项地区,二是按钮地区,包括上一步,下一步,作废等按钮。导游实行后,每步该做甚么,假如经由过程前提判别来举行,明显会十分贫苦。幻想的做法是,上一步的代码为:
GoLast();
下一步的代码为:
GoNext();
那怎样做到这一点呢?

起首观点上,我们明白,导游由多少步构成,每步能够由一个UserControl来暗示,实行到该步时,只是创立一个该控件的实例,并显现在导游主界面的选项地区罢了,这一点是不难做到的。那末如今成绩的关头就是将这些步串连起来,可以做到主动的运转。这个义务能够分离到每步的控件中往,也就是说,每步应该晓得它的上一步是甚么,下一步它该做甚么,这一点在逻辑上应该是没有疑虑的。以是,我计划了一个接口IWizardStep,代码以下:
publicinterfaceIWizardStep
{
ControlNextStepControl
{
get;
}
ControlLastStepControl
{
get;set;
}
voidBeforeGoNext();
}
个中,NextStepControl暗示下一步的控件,假如是最初一步,则应为null,;LastStepControl暗示上一步控件,假如是第一步,则该值应null。BeforeGoNext用于在实行下一步时,做一些选项的使用等预处置事情。每步的控件只需完成了该接口,导游中的各个步骤就有序次的毗连在一同了。
有了下面的这些事情,我们只必要再计划一个用来供主界面挪用的表面类,导游就能够很好的运转了。

publicclassWizardFacade
{
privateSystem.Windows.Forms.Controlm_ParentControl;
privateSystem.Windows.Forms.Controlm_CurrentControl;

publicWizardFacade(ControlparentControl)
{
m_ParentControl=parentControl;

EntranceControlctl=newEntranceControl()
SetCurrentControl(selctl);
}

///<summary>
///将某一个控件设为以后控件,并显现出来
///</summary>
///<paramname="subControl"></param>
privatevoidSetCurrentControl(ControlsubControl)
{
if(m_CurrentControl!=null)
{
(subControlasIWizardStep).Chart=(m_CurrentControlasIWizardStep).Chart;
(subControlasIWizardStep).LastStepControl=m_CurrentControl;
}

subControl.Parent=m_ParentControl;
subControl.Location=newSystem.Drawing.Point(0,0);
subControl.BringToFront();
subControl.Visible=true;

m_CurrentControl=subControl;
}

///<summary>
///实行下一步
///</summary>
publicvoidGoNext()
{
(m_CurrentControlasIWizardStep).BeforeGoNext();
if((m_CurrentControlasIWizardStep).NextStepControl!=null)
{
SetCurrentControl((m_CurrentControlasIWizardStep).NextStepControl);
}
}

///<summary>
///实行上一步
///</summary>
publicvoidGoLast()
{
if((m_CurrentControlasIWizardStep).LastStepControl!=null)
SetCurrentControl((m_CurrentControlasIWizardStep).LastStepControl);
}

///<summary>
///猎取以后正在显现的控件
///</summary>
///<returns></returns>
publicControlCurrentStepControl
{
get
{
returnm_CurrentControl;
}
}


}
必要注重的是,在机关函数中,有一个EntranceControl的变量,是出口控件,也就是导游的第一步要显现的控件。在表面类中明白该控件,退职现分派上应该也是切合逻辑的。

做完了这些,我们的导游主界面就十分复杂了,只必要创立一个WizardFacade对象实例,然后挪用响应的办法就能够了。

理论证实,上述思绪复杂,明晰,有用,稍作扩大,能够完成更壮大的功效,大概定制你营业中所必要的功效。
以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。
变相怪杰 该用户已被删除
沙发
发表于 2015-1-20 19:47:46 | 只看该作者
那么,ASP.Net有哪些改进呢?
只想知道 该用户已被删除
板凳
发表于 2015-1-24 14:23:40 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
再现理想 该用户已被删除
地板
发表于 2015-2-1 16:44:37 | 只看该作者
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
若相依 该用户已被删除
5#
发表于 2015-2-3 19:54:16 | 只看该作者
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
深爱那片海 该用户已被删除
6#
发表于 2015-2-9 04:34:31 | 只看该作者
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
谁可相欹 该用户已被删除
7#
发表于 2015-2-9 22:13:52 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
灵魂腐蚀 该用户已被删除
8#
发表于 2015-2-14 07:00:25 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
兰色精灵 该用户已被删除
9#
发表于 2015-2-24 08:30:14 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
山那边是海 该用户已被删除
10#
发表于 2015-3-1 13:45:08 | 只看该作者
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
蒙在股里 该用户已被删除
11#
发表于 2015-3-10 17:54:05 | 只看该作者
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
12#
发表于 2015-3-20 16:20:06 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-5 05:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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