如何在 ASP.Net MVC 或等效程序中构建复合或模板控件?

How do build a composite or template control in ASP.Net MVC, or the equivelant?

在我们当前的 ASP.Net Webforms 应用程序中,我们有几个复合/模板服务器控件,它们只存在于一个共同的外观和感觉上。例如,我们有一个面板控件,它有一个标题、一个与面板内容相关的按钮位置,当然还有内容。这在 MVC 中如何最好地完成? RenderPartial 没有完成我需要的。我是否仍应使用相同的控件,但只是在视图页面上?这些控件在回发时实际上并没有做任何事情,它们只是为了一个共同的外观和感觉。

更多信息:

我们在 Webforms 中有一个实现 ICompositeControl 的控件。我们在这个控件上有一些属性,比如 Panel(Panel 类型)、Buttons(同样是 Panel 类型,它将包含按钮)和一个字符串类型的属性 Title。视觉上看起来像

alt


我对这里的确切要求有点模糊,但如果我理解正确,那么您需要一个控件,其中包含带有可变内容(如静态文本、控件、图像等)的标题信息。

如果我必须拥有一个充当内容容器的控件,无论该内容是什么,我想我都会考虑一个 Html Helper,我可以将信息传递给它,它可以评估要传递的内容渲染。

然后它可以调用另一个助手,渲染局部视图或其他任何东西。