我是一个在网站上工作的团队的一员,我们发现自己一遍又一遍地重复使用组件。一个例子是我们有一个作为警示灯的跨度。这背后有一些代码(C#),有一些控制颜色和文本的属性,一些Javascript以及一些自定义css。
我注意到Visual Studio中有一个工具箱,它有一些基本组件可以拖入我的标记。这是一种可行的方式,还是在涉及这个“问题”时还有其他可能性吗?
如果可能的话,我们希望将一些可重用的组件构建到一个程序集中,可以在需要时在我们的项目中引用,我想分别包含CSS和Javascript(?)
关于最佳实践/最实用的解决方案/教程的任何建议都会有所帮助,因为我对Asp.net MVC的主题不太了解。
另外,如果错误地指出了这个问题,请告诉我。就像我说的......新世界:)
答案 0 :(得分:1)
您有多种方法可以根据需要选择或组合它们。
编写充满静态方法的静态类,然后可以在视图中将其用作帮助程序:
public static class HtmlExtensions
{
public static IHtmlString ErrorMessage(this HtmlHelper html, string msg)
{
return MvcHtmlString.Create("<span class=\"validation-summary-errors\">"+msg+"</span>");
}
}
更多:http://www.asp.net/mvc/tutorials/older-versions/views/creating-custom-html-helpers-cs
甜蜜提示:如果你想使用更多的HTML代码作为助手的输出,你可以使用部分视图,并从helper返回html.Partial(“ErrorMessageTemplate”,msg);
用于格式化一个视图范围内的特定内容。如果您想要更多可重用性,请改用HTML帮助程序。请参阅:http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx
当然,在这两种情况下,你的javascript和CSS都会分成不同的文件,你可以通过jQuery将它们绑定到元素的类或ID。忽略这种做法,你迟早会受苦:)
答案 1 :(得分:1)
首先,工具箱包含为ASP.NET webforms创建的项目,它们不适用于MVC。
重用组件: 我认为MVC最常用的方法是使用部分视图。部分视图也是cshtml文件,它们与普通视图类似。可以创建部分视图,例如当您右键单击“Views”文件夹内的文件夹时,通过解决方案资源管理器中的上下文菜单,有一个复选框“创建为部分视图”。 不同之处是:
我这个局部视图你可以放置HTML。 CSS和JS代码我将放在单独的css和js文件中,并将它们加载到调用局部视图的视图中。
由于您不熟悉MVC,我建议您浏览this等教程。