c# - 在 asp.net mvc (razor) 中重用组件作为自定义文本字段、跨度等

标签 c# javascript css asp.net-mvc razor

我是一个网站团队的一员,我们发现自己一遍又一遍地重复使用组件。一个例子是我们有一个用作警示灯的跨度。这背后有一些代码 (C#),带有一些控制其颜色和文本的属性、一些 Javascript 以及一些自定义 CSS。

我注意到 Visual Studio 中有一个工具箱,其中包含一些可以拖到我的标记中的基本组件。这是解决这个“问题”的方法吗?还是有任何其他可能性?

如果可能的话,我们希望将一些可重用的组件构建到一个程序集中,以便在需要时在我们的元素中引用,我想分别包括 CSS 和 Javascript(?)

任何关于最佳实践/最实用的解决方案/教程的建议都会有所帮助,因为我对 Asp.net MVC 的主题相当陌生。

此外,如果此问题指定不正确,请务必告诉我。就像我说的......这个世界的新手:)

最佳答案

您有多种选择方式,您可以根据自己的需要进行选择或组合。

1。 ASP.NET MVC Html 助手。

编写充满静态方法的静态类,然后您可以在 View 中将其用作助手:

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 代码作为你的助手的输出,你可以使用局部 View 并返回 if from helper as return html.Partial("ErrorMessageTemplate", msg);

2。 Razor 助手

用于格式化一个 View 范围内的特定内容。如果您想要更多的可重用性,请改用 HTML 帮助程序。请参阅:http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx

当然,在这两种情况下,您的 javascript 和 CSS 都放在单独的文件中,并且您通过 jQuery 将它们绑定(bind)到元素的类或 ID。忽视这种做法,你迟早会遭殃的:)

关于c# - 在 asp.net mvc (razor) 中重用组件作为自定义文本字段、跨度等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20089286/

相关文章:

jquery - 如何在响应前在类中添加属性并在响应后删除它?

c# - 如何在访问 Asp.net MVC 中的 View 文件夹时显示错误页面

c# - 如何将文件从 MemoryStream 上传到 FTP 服务器

c# - 在 C# 中提交 Web 表单并获取响应数据

javascript - 与用于 Web 应用程序开发的服务器端对象的两种方式通信

jquery - 使用注入(inject)的 jquery 脚本创建可拖动的 div

c# - 函数变量调用自身

javascript - 工作箱缓存版本控制最佳实践

javascript - 更改值时如何防止输入框事件传播?

jquery - 单击用户照片时如何显示上下文类型菜单,每页有多个用户照片?