我正在为我工作的公司设计解决方案(但刚刚辞职),其中包含非常复杂的应用程序。这个过程接近10个步骤(包括T& C和预览),还有一些非常棘手的UI级业务规则(主要由传统的搭配系统驱动)。
基本上,验证是由先前表格中选择的内容驱动的,而不仅仅是之前的表格。
该解决方案已被确定为ASP.NET应用程序,但我设计的解决方案越多,它看起来就越难以在无状态环境中实现。它最终将以查询字符串参数,页面上的隐藏变量,viewState或会话来传递信息。
然后我建议我看一下Silverlight,给它一个更有状态的环境,让它更容易处理参数的传递。
除了观看演示之外,我从未对Silverlight做过任何事情,所以我没有亲身体验过它,但是从我读过的所有内容来看,我认为它确实有可能解决一些主要问题我试图用标准ASP.NET来解决这个问题。
那我该怎么做:
答案 0 :(得分:4)
您所说的问题是关于在多个页面/表单之间保持状态。会话对此有好处(不是那些查询参数或隐藏变量,因为那些可以被篡改,只需要在开发你的应用程序时考虑这种可能性会减慢你的速度。)我建议最简单。< / p>
但是,您也可以在一个页面上放置几个表单并将它们一起提交,但使用javascript看起来像不同的页面。使用任何体面的javascript库都不会太难,但我推荐jQuery(微软正在采用自己作为ASP.NET的标准)
如果您的公司在javascript中没有很多技能,那么与Silverlight问题相同,但至少它不需要插件。
不要误会我的意思,我喜欢silverlight,我非常喜欢它,当它获得类似于flash的市场份额时,我会放弃HTML / css / javascript。虽然它似乎不适合你。
答案 1 :(得分:3)
我目前在一家在Silverlight中构建其主要LOB应用程序的公司工作。
对于您要做的事情,Silverlight可能是一个不错的选择,但请考虑:
话虽如此,在Silverlight中攻击此类问题的想法并没有错。它不是银弹或任何东西; Silverlight有自己的数据访问难题,古怪的UI代码特性,并且需要围绕开发应用程序的另一个模型。
答案 2 :(得分:0)
Silverlight有一个Page
类,可让您轻松支持导航,您可以像在浏览器中一样返回上一页。我认为Silverlight页面和导航框架非常适合您所描述的那种应用程序。
使用Silverlight可以创建非常丰富的客户端体验。在某种程度上,在ASP.NET中也可能这样做,但我发现传统Web应用程序(HTML,CSS,JavaScript等)中的所有移动部件及其交互比Silverlight模型复杂得多。如果您没有使用Silverlight的经验,您可以创建一个简单的页面导航原型,而无需任何真实的逻辑来感受体验。如果您满意,那么您可以向管理层展示它以展示Silverlight的强大功能。如果他们喜欢eye candy,你可以改变应用程序的视觉主题,试图给他们留下深刻的印象。但是,如果管理层实际上喜欢灰色战舰,这种策略可能会适得其反。