Erv*_*ter 5 javascript asp.net-mvc razor
我正在寻找有关如何创建可在多个 MVC 3 视图上使用的可重用“控件”的最佳实践。我可以创建一个 Html 帮助程序扩展方法(以编程方式或使用 razor 中的声明性帮助程序),或者我可以创建一个部分视图。
就我而言,诀窍是我需要做的不仅仅是将一些 HTML 转储到视图调用帮助器/部分的位置。除了在该位置放置一些 HTML 标记之外,我还需要添加一些 javascript 代码以使其正常工作。通常,我会将此代码放在页面的其他位置(例如底部)。这当然不是严格要求的。另请注意,JavaScript 不是特定于控件实例的。换句话说,可以编写 JavaScript 来查找页面上控件 HTMl 标记的所有实例,并使用适当的事件等“激活”它。
我想到了几种可能性。
<script>在调用它的地方放置一个标签。这似乎是一个坏主意,因为这意味着该控件每页只能使用一次。我倾向于#4,但这是一个已解决的问题吗?有更好的第六种选择吗?
我的公司正在使用 MVCContrib 可移植区域将代码打包到 DLL 中,以供可重用的“组件”
这些组件中的每一个都可以通过扩展方法调用。例如:
Html.Components().ShowPoll();
Run Code Online (Sandbox Code Playgroud)
在每个组件中,都有一种方法可以注册多个作为嵌入资源的 css/js 文件。我们的主站点将提取资源文件并在提供之前缩小+组合它们。
该组件还将注册在 JQuery 的 Document.OnReady 事件期间调用的任何页面上事件。这使得每个组件都成为迷你站点、具有自己的路由、模型和视图的独立功能。
在整个站点中,为所有组件提供相同的 zip up JS。一是因为文件将被缓存,二是消除了确定页面上有哪些组件及其所需资源的复杂性。
如果您想了解有关此设置的更多信息,请告诉我。
| 归档时间: |
|
| 查看次数: |
2692 次 |
| 最近记录: |