如何创建自定义控件?

时间:2015-07-09 18:55:18

标签: asp.net-mvc

哪个是在Big Mvc应用程序中创建自定义控件的最佳方法?部分视图,这意味着每个控件的局部视图? HTML助手?另一种选择?

请在下面找到我在asp web应用程序中的自定义控件示例:

 protected override void Render(HtmlTextWriter writer)
    {
        writer.WriteLine("<div class=\"btnContainer\">");

        base.Render(writer);


        writer.WriteLine("</div>");

        writer.WriteLine("<div class=\"clr\"></div>");
    }

1 个答案:

答案 0 :(得分:2)

单独的部分不是真正的&#34;控制&#34;。他们需要一些东西来驱动他们。在MVC 5和之前的版本中,您可以使用子操作来创建与ASCX控件非常相似的内容。在MVC 6+中,View Components是可行的方法。

您还可以使用HtmlHelper扩展程序。实际上,您应该使用的主要决定归结为您是否需要外部数据访问。如果需要查询数据库,点击Web API等,则使用子操作/视图组件。如果您是自包含的(即您只想基于现有的某些值来渲染一些HTML,那么您可以使用HtmlHelper扩展名。但是,子动作/视图组件仍然存在也适用于这种情况,这意味着它们的整体用途更加广泛。