我在 Asp.net Server Control 项目中创建登录控件并在 Asp.net Web 表单项目中使用它我如何在 MVC 项目中做到这一点?
问问题
2084 次
1 回答
1
ASP.NET MVC 框架并不真正支持服务器端控件的概念。但是,您可以考虑使用几种方法将视图/逻辑抽象为可重用组件:
自定义 HTML 助手
您可以创建自定义 HTML 帮助程序,这是一种将服务器端逻辑抽象并呈现为“黑盒”的好方法,类似于自定义控件。这为开发人员提供了一个服务器端 API 来创建或实例化“控件”。看看这篇文章了解更多信息:http ://www.asp.net/mvc/tutorials/older-versions/views/creating-custom-html-helpers-cs
部分视图
部分视图允许您重用 Razor 的一部分(如果这是您正在使用的视图类型)。
有两种典型的方法可以将局部视图包含在另一个视图中:
- Html.RenderPartial - 类似于“包含”;通过将模型传递给视图来呈现视图
- Html.RenderAction - 为局部视图执行整个 MVC 生命周期;你指定一个控制器和一个动作,控制器动作返回一个 PartialView,如下所示
return PartialView("partialName", vm);
:从控制器操作返回部分内容对于通过 AJAX 请求返回 HTML 片段以进行动态 HTML 呈现特别有用。
这是另一个 StackOverflow 问题,可能有助于澄清 RenderPartial 和 RenderAction 之间的区别: RenderAction RenderPartial
于 2013-04-07T14:06:30.830 回答