.NET MVC可以从Controller的Action返回Control吗?

时间:2015-11-27 09:12:26

标签: c# .net model-view-controller

我是MVC的新手,我想稍微改进MVC框架,使其工作有点不同。 我想创建HTML控件的类,例如,一个名为" DropDownControl"的类。有一个方法"渲染"返回一个html格式的字符串,它是一个自定义下拉列表。 然后,我想从控制器的操作中返回该控件。

我知道我可以使用部分视图,但我想使用控件对象,以便它们可以相互继承。

这样我就可以创建一个名为" HomeDropDownControl"来自常规下拉控制的内容,但只是使它有点不同。

你有什么建议?

1 个答案:

答案 0 :(得分:2)

您可以使用Controller.Content方法返回控件的Render方法呈现的HTML。

如果要将单个控件返回给客户端,这很好。在视图中使用Html.RenderAction来渲染多个这样的控件并不是最佳的,因为您可能希望将复杂的配置对象传递给控件类,并且您可能不希望通过模型绑定器来执行该操作

我还假设您没有单独调用服务器来获取表单中各个控件的标记,这不是一个好主意。