我知道我对此有些嘲讽,但这是一个非常严重的问题,似乎还没有得到答复。
在旁注中,MVC的View页面带来了经典asp的恶梦,并提供了所有的代码,我们从页面后面的代码中避开了这些代码。是的,MVC有控制器和模型类是伟大的,但我仍然不喜欢html中的经典asp标签。
帮我在这里,我真的很喜欢MVC的概念,希望它成功,但我需要更多!
解决方法
how do I throw a textBox on the listing page with a button and do a simple search. In asp.net,I would throw a textBox,button and grid on the page and bind it to a sproc and away I go
这正是“经典”ASP.NET又称WebForms背后最大的问题。
你不应该考虑页面,按钮和事件。
您应该了解Web的工作原理。那么你会明白,这个网站讲的是HTTP协议,它的命令GET,POST等。演示文稿是HTML,CSS和JavaScript进行播放的文档对象模型。实际上没有页面,url只是一个指向资源的指针,该资源不一定映射到服务器上的物理文件(.html或.aspx)。
the View page of MVC brings back nightmares of classic asp with all the in-line code that we got away from way back when with code behind pages.
在WebForms停留之后,我也来到了MVC,我发现我非常喜欢内联代码。它使视图结构非常清晰,这对于代码隐藏中的静态标记(aspx)操纵服务器控件的耦合是不能说的。后者实际上是一场噩梦 – 您的代码正在生成标记输出,但您不会看到哪里和如何。
What can MVC bring to the table that we can’t do in asp.net or MVC can do faster
它消除了WebForms给我们的丑恶的有状态抽象。你现在回到起步的地步。你现在有的是:
>将您的演示文稿部分(视图)与应用程序逻辑分开的选项。在所有混合在一起之前,代码隐藏与数据库通话,调用其他服务,修改标记。这是混乱它导致了很多严肃的应用程序,但几乎不能维护。
>能够自动测试您的应用程序逻辑。使用WebForms和代码隐藏,您将如何调用某种场景?您可以使用Selenium等工具来模仿用户活动。现在,当您的视图只是一个被动表示层时,您再也没有这个问题。您很容易地测试业务逻辑和模型输出。有意见显示结果。如果模型在特定场景中获得正确的数据,则视图将正确显示。如果不是,那么不。期。无需测试视图。
>控制你的标记。那就是你关心的如果您是一名前Windows开发人员,不会对HTML文档有效,在语义上正确并针对网页引擎进行了优化,那么对您来说没有用。我的意思是“页面”是显示的,用户点击被处理像在桌面应用程序,还有什么,对吗?但是,如果您对所有这些事情感兴趣,那么您将看到最终的标记输出,并看到它是丑陋的,有很多错误,您根本无法解决的限制。因为它是如何显示控件,按钮,数据网格等。尝试修复它们将需要覆盖这些控件的标记生成,这是一项繁重的任务。为什么不把它放下来,手动做一切?
What MVC takes from the table?
“控制”“事件”的服务器端处理,如Windows编程。如果您正在开发面向桌面的网络媒体应用程序,就像那些具有数十种数百种控件的典型“商业”软件,让您疯狂,MVC会让您变得疯狂,因为您必须将每个单独的控件单独连接JavaScript的。
但是,如果您不开发这些应用程序(需要一定的精神能力才能使用),而是开发现代可用的Web软件,那么WebForms会让您感到疯狂。迟早。