我在Asp.net服务器控件项目中创建Login控件并在Asp.net Web表单项目中使用它 我怎么能在MVC项目中做到这一点?
答案 0 :(得分:1)
ASP.NET MVC框架并不真正支持服务器端控件的概念。但是,您可以考虑将几种方法用于将视图/逻辑抽象为可重用的组件:
自定义HTML帮助程序
您可以创建自定义HTML帮助程序,这是抽象服务器端逻辑和渲染为“黑盒子”的好方法,类似于自定义控件。这为开发人员提供了一个服务器端API来创建或实例化“控件”。请查看此文章以获取更多信息:http://www.asp.net/mvc/tutorials/older-versions/views/creating-custom-html-helpers-cs
部分观点
部分视图允许您重用一块Razor(如果这是您正在使用的视图类型)。
在另一个视图中包含部分视图有两种典型方法:
return PartialView("partialName", vm);
。从控制器动作返回部分对于通过动态HTML呈现的AJAX请求返回HTML片段特别有用。这是另一个StackOverflow问题,可能有助于澄清RenderPartial和RenderAction之间的区别:RenderAction RenderPartial