gpt4 book ai didi

asp.net - 移植到 ASP.NET MVC 的推荐方法

转载 作者:行者123 更新时间:2023-12-02 09:46:34 25 4
gpt4 key购买 nike

我认为我们很多人曾经面临过同样的问题:将现有 Web 表单应用程序移植到 MVC 的最佳实践是什么。对我来说,我们将同时支持 Web 表单和 MVC。这意味着,我们在 MVC 中创建新功能,同时维护 Web 表单中的遗留页面,并且它们都在同一个项目中。

重点是:我们希望保持 DRY(不要重复自己)原则并尽可能减少重复代码。 ASPX 页面不是问题,因为我们只在 MVC 中创建新功能,但仍然有一些共享组件我们希望重用新/旧页面:

  • 母版页
  • 用户控件

这里的问题是:是否可以创建一个可用于 Web 表单和 MVC 的通用母版页/用户控件? 我知道 ViewMasterPage 继承自MasterPageViewUserControl继承自UserControl,所以让Web表单和MVC ASPX页面都引用ma​​ybe就可以了MVC 版本。我做了一些测试,发现有时它会在用户控件的渲染过程中产生错误。

您有什么想法/经验可以与我分享吗?非常感谢。

<小时/>

背景:

这个 UI 项目已经创建多年,有 20 多人致力于此。在我开始试用通用母版页之前,大约有 50 多个 Web 表单页面,而只有一个 MVC 页面。我们在 MVC 上创建新功能,但旧页面仍保留在 Web 表单中。

这种情况将持续很长一段时间,可能是因为这是一家业务驱动的公司,所以新功能总是处于更高的优先级。这意味着我们需要同时支持两者。

最佳答案

将 ASP.NET MVC 母版页与 Web 表单页面和用户控件一起使用时存在多个集成问题。由于两个框架的执行管道不完全相同,出现一些问题是正常的。

我遇到的问题之一是 Web 表单使用单一界面模式(页面上有一个带有 <form>runat="server" 标签)。在您的母版页或使用它的页面中,如果您想使用服务器控件,则必须自己创建此标记。请注意,这适用于只读控件。如果您需要回发和事件处理,您可能会面临更多事件处理和事件验证问题。

还有一个技巧是创建 html 帮助程序,将现有控件呈现为字符串。您可以查看此以获取更多信息 http://www.abadjimarinov.net/blog/2009/10/29/HowToRenderAspdotNETControlToString.xhtml这也是一个部分解决方案,因为它不适用于大多数用户控件。

提供一些代码或错误消息将很有帮助,以便我可以为您提供更具体的答案。 在这个级别上,我只能说这两个框架是兼容的,您可以集成它们,但这并不轻松,并且需要对现有代码进行一些更改。

关于asp.net - 移植到 ASP.NET MVC 的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4582932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com