【问题标题】:Can i use Asp.Net WebForm User Controls in MVC Site?我可以在 MVC 站点中使用 Asp.Net WebForm 用户控件吗?
【发布时间】:2012-04-01 01:01:55
【问题描述】:

我在 asp.net 4.0 中有一个网站,有 10 个页面和 12 个用户控件。

现在我想在 asp.net MVC 4.0 中迁移这个站点;那么我可以重用那些用户控件(在传统的 asp.net 中)并使用<%= Html.RenderUserControl() %> 呈现它们。

简而言之我的问题是我们是否可以在asp.mvc 4中使用asp.net的用户控件

非常感谢,

吉格

【问题讨论】:

  • 视情况而定。如果它们不依赖于 ViewState,它可能会起作用。一切都取决于控制中的内容。
  • Craig stuntz :- 你能带我去一些深刻的链接吗?更好的答案?
  • 我不确定我是否知道比“试试看它是否有效”更好的答案。 I've made this work for DayPilot,但 SSRS 查看器失败。
  • @Jigs 他似乎没有使用 Razor。

标签: asp.net asp.net-mvc user-controls asp.net-mvc-4 webusercontrol


【解决方案1】:

您通常不能在 MVC 应用程序中使用 asp.net 控件。几乎所有控件都需要视图状态,而 ASP.NET MVC 不支持。

【讨论】:

  • 你可能会使用一些技巧来让它们工作一半,但是 Web 表单控件需要诸如视图状态和页面生命周期(初始化、加载、...预渲染)和 mvc 之类的东西完全不同。我们遇到了同样的问题,我们有一个想要在 mvc 中重用的用户控件,简短的回答基本上是我们需要使用 razor 视图和模型来重建它。也许有人可以构建一个 web 表单组件以某种方式包含在 mvc 页面中,但我认为目前没有这样的事情。
【解决方案2】:

好问题 Jigar Pandya;

是的;我们可以在 MVC 站点中使用 ASP.NET WebForm 用户控件。

我们能够在 ASP.NET MVC 中使用用户控件的一种方法是添加一个新的 webform 类型的项目。

然后在该网络表单上我们将能够在 MVC 项目中使用 ASP.NET 用户控件。我有同样的问题,因为我们有许多想要使用的现有用户控件。希望有帮助。

【讨论】:

  • 我看不到添加“网络表单类型的新项目”的方法。我认为你需要解释那部分。这个问题的答案似乎是不可能的。
  • 在解决方案资源管理器中右键单击“添加新项目”,然后在已安装的模板下选择“网络表单”msdn.microsoft.com/en-us/library/0hds5k93.aspx希望对您有所帮助行动丹
  • 您好,引用的页面标题为“如何:将 ASP.NET Web 窗体页面添加到 Web 项目”。问题是关于将 Web 表单 user control 添加到 mvc 项目。有些事情显然不可能以某些人希望的方式实现。
  • 当我读到您的第一条评论时,您试图添加一个“网络表单类型的新项目”,这就是我所链接的内容,我在回答中说是;我们可以在 MVC 站点中使用 ASP.NET WebForm 用户控件。 UC 可以在 webform 页面上。希望您也能看到如何添加它。希望有帮助!
  • 同意行动丹;我们可以将 UC 添加到 MVC 项目,但我们不能将 UC 添加到 MVC razor 视图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-06
  • 1970-01-01
  • 2010-10-04
  • 1970-01-01
  • 1970-01-01
  • 2011-07-15
  • 1970-01-01
相关资源
最近更新 更多