Dav*_*ras 17 c# asp.net asp.net-mvc razor
我必须决定我们将在未来几年开发的新的大型业务应用程序,问题是我们是否应该开始使用MVC 3或Web表单.
这已经在SO中进行了讨论,但我已经看到了这样一个问题:ASP.NET MVC是否适用于业务应用程序(集成第三方控件/组件)?在2008年被问到,现在很多事情都可能发生变化.
我主要担心的是,听说过MVC有利于渲染网格或列表等内容,对数据输入和用户交互不太好.
我们的应用程序将有很多控件,用户可以在其中输入数据并使用列表和文本框,复选框等.
在MVC或经典的Webforms中,一切都是绝对可能的,并且视图状态模型会更合适吗?
谢谢.
Jam*_*iec 26
ASP.NET MVC 3是否适用于业务应用程序
在MVC中一切都是绝对可能的
在我的愚见; 绝对是100%是的.事实上,我认为MVC框架在功能和生产力方面都领先于WebForms.
我从1.0 beta和MVC 1,2和3开始使用每个版本的WebForms,并且相信MVC绝对可以用于生产.
您必须考虑到2的开发方法是完全不同的:
MVC要求您学习更多基本Web技术的低级细节:HTML,CSS,JS,HTTP(我相信如果他们还没有你的技能,你应该这样做).
WebForms尝试抽象大部分内容,并且可以将一些简单的页面放在一起被认为更有效率.但是这是一个漏洞的抽象,缺乏控制可能会让你感到沮丧,因为你越来越熟练 - 如果你不熟悉Web开发,那么在开始时会更容易; 在获得经验时更难弯曲.当页面变得更复杂时,生产力的提高开始消失.抽象更有可能导致性能问题并破坏自动测试页面的能力(使用Selenium或等效工具进行单元和UI级别测试).
示例1:在MVC中,您很可能需要了解如何处理表单字段以使用application/form-url-encoded组成使用HTTP的POST,否则您可能会遇到模型绑定.在WebForms中,您可以构建大型应用程序,而无需担心.
示例2:在MVC中,您需要跨请求管理大部分页面状态.在WebForms中,框架可以轻松地为您完成.
MVC应用程序倾向于更多地依赖客户端javascript组件来获得可重用的小部件,例如绑定JSON数据.WebForms鼓励使用服务器端控件,因为它们很好地集成到框架状态管理工具中.
与其他人不同,我不相信MVC比WebForms更具生产力.不要低估WebForms快速交付数据驱动的业务应用程序的能力.管理了很多人同时使用两者,我认为MVC需要更多熟练的程序员才能提高工作效率.但如果这是你的情况,你可能会发现MVC在那些熟练的手中是一个更有趣和更强大的平台.
是的,ASP.NET MVC 3 Razor绝对可以用于商业应用程序.我正在使用MVC 3 Razor C#构建一个大型的企业级Web应用程序,而我在MVC和Entity Framewor中的复杂性越高,它们就越能处理它.我来给你一个代码示例.让我们说我们想要创建一个动态表,将HTML与Razor C#代码和数据混合在一起.使用Web表单和ASP.NET Web控件这不是一项小任务
<table>          
    <thead>
        <tr>
            <td>Date</td>
            <td>Name</td>
            <td>Price</td>
            <td>Quantity</td>
            <td>Shipper</td>
        </tr>
    </thead>
    @foreach (eStore.Models.Product p in Model.Products)
    {
        <tr>
            <td>@Html.Hidden("Date", p.Date.ToString())
                @Html.Hidden("productId", p.ProductId)
            <td><input type="submit" name="submitButton" value="@p.Name"/></td>
            <td>@Html.Label("Price", p.Price)</td>
            <td>@Html.Label("Quantity", p.Quantity)</td>
            <td>@Html.Label("Shipper", p.Shipper)</td>
        </tr>
    }
</table>
Run Code Online (Sandbox Code Playgroud)
我创建了一个动态表,其中包含一个带有按钮的产品列表,该按钮可以通过productId访问列表中每个产品的更多信息.这需要最少量的代码和工作量.代码清晰,易懂,易于编辑.现在想象一下传统Web表单和Web控件执行相同任务所需的内容.
MVC 3有一个学习曲线,但在我看来这是值得的.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           2421 次  |  
        
|   最近记录:  |