创建基于 MVC 的组件/扩展方法的好文章?

Posted

技术标签:

【中文标题】创建基于 MVC 的组件/扩展方法的好文章?【英文标题】:Does anyone know of a good article for creating MVC based components/ extension methods?有谁知道 【发布时间】:2010-09-25 04:07:32 【问题描述】:

我已经为几个项目开发了几个扩展方法,它们目前严重依赖一些 AJAX 来使零碎工作。问题是它们需要将 javascript 文件复制并粘贴到您要使用它的项目中。

由于这个 JavaScript 文件只需要使用一次(渲染控件的所有实例都使用同一个文件),我想做一些事情,比如将脚本元素添加到通过网络使用它的页面的 headers 集合中-resource(将文件作为资源嵌入程序集中)。在 Web 表单中这不是问题 - 您可以将脚本块添加到具有特定 ID 的标题中,并在页面加载时简单地检查它。

什么是 MVC 等价物 - 有没有等价物?

我想要一个不需要消费者复制和粘贴/添加行到页面或配置的解决方案...有什么想法吗?

【问题讨论】:

【参考方案1】:

Stephen Walther 有一些关于 MVC 的非常好的文章,包括 html Helpers。 http://weblogs.asp.net/stephenwalther.

查看 Html Helpler 代码的好地方是 MVC 源代码,位于 Codeplex.

www.asp.net/mvc 有一个关于 Html Helpers 的教程

【讨论】:

Stephen 有一个很好的提示 (#45 - weblogs.asp.net/stephenwalther/archive/2008/10/08/…),这似乎对解决问题很有用,但目前还没有。【参考方案2】:

来吧,这家伙写了一个自定义的 FormlessScriptManager,即使你的页面中没有

也可以让你注册脚本。

http://developmentalmadness.blogspot.com/2008/04/abstracting-systemwebuiscriptmanager.html

【讨论】:

嗨,很好的发现 - 但不幸的是,这需要消费者向视图中添加比通常更多的“东西”。此外,正如作者所说,该解决方案不适用于各种场景。

以上是关于创建基于 MVC 的组件/扩展方法的好文章?的主要内容,如果未能解决你的问题,请参考以下文章

检查文件扩展名是不是为图像的好方法

ASP.NET MVC 4 控制器扩展

在 JavaScript 中扩展 Error 的好方法是啥?

J3004.JavaFX组件扩展——ReferenceField

可扩展设计:如何做到增加功能不修改调用方代码?

Orchard 发布1.0版本和ASP.NET MVC 3 RTM