【问题标题】:Usage of Server Side Controls in MVC Frame workMVC 框架中服务器端控件的使用
【发布时间】:2010-12-20 09:01:45
【问题描述】:

我正在将 ASP.Net 4.0 和 MVC 2.0 用于 Web 应用程序。由于我的项目需要mrnt,我必须在我的应用程序中使用服务器端控件,这在普通情况下是不可能的。理想情况下,我想使用 AdRotator 控件和 DataList 控件。

我在 CodePleax MVC ControlLib 中看到了一些示例和参考资料,但我发现它的用处不大。

谁能告诉我如何在 ASP.Net 应用程序中使用这些控件以及 MVC。

注意:请提供与 AdRotator 和 DataList 相关的功能 控制不是等效的 功能

提前感谢。

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-2 asp.net-4.0


    【解决方案1】:

    MVC 页面不使用普通的 .NET 解决方案,这使得使用普通的 .NET 组件几乎是不可能的。

    普通的 .NET 页面使用事件驱动的解决方案来调用服务端的不同方法,但 MVC 使用操作和视图,这是一种完全不同的处理方式。

    此外,MVC 不使用大多数普通 .NET 控件所需的视图状态。

    Found this article discussing mixing of normal .NET and MVC.

    【讨论】:

    • 感谢大卫的回复。你是对的,这就是 MVC 的思想。基本上它是为了清晰地分离模型、视图和控制器并帮助 TDD。但是有些情况我们可以使用扩展功能来处理这种情况。简单的例子是来自 Telerik 控件的 Html.Grid()。所以这是可能的,但问题是什么?我想我的观点是有道理的,请提供更多您对此的看法。
    • 任何纯 javascript 控件都应该可以使用,只要它们不需要任何正常的 .NET 功能,但有些可能需要一些黑客来加载,因为你没有正常的 page_load 解决方案,不幸的是我很少经验。
    【解决方案2】:

    所有 mvc 视图的基本页面都派生自 System.Web.Page。所以理论上你可以在视图中使用服务器控件。

    其中一些服务器控件在 MVC 框架中工作得非常好。

    例如,以下调用会在 mvc 视图中毫无问题地呈现广告。

    <asp:AdRotator AdvertisementFile="ads.xml" runat="server" />
    

    如果您的控件需要回发到服务器或需要视图状态,您将遇到问题,否则我认为它们可以安全使用。在所有只读渲染场景中,我发现这些控件可以安全使用

    SiteMapPath、只读网格视图、图表控件是其他示例。

    【讨论】:

    • 这似乎是对的,但是如何以编程方式设置“ads.xml”(在您的示例中)?通常的
    • 并在 onload 事件中设置 adRotator 的 AdvertisementFile 属性值。
    猜你喜欢
    • 2011-12-25
    • 2010-10-05
    • 2012-10-27
    • 1970-01-01
    • 2014-04-02
    • 2013-07-29
    • 1970-01-01
    • 2017-07-10
    • 2012-07-14
    相关资源
    最近更新 更多