将自定义服务器控件添加到MVC中

时间:2013-08-20 18:25:17

标签: asp.net-mvc html-helper custom-server-controls

我以前创建了几个自定义服务器控件,这些控件不是用户控件,所以没有“ascx”文件可供使用。我得到了一个MVC项目来模仿我使用服务器控件编写的相同功能。基本上服务器控件是一个复合控件,因此它有一些文本框,标签,复选框,并且它附带了一些javascript。它还将该功能绑定到一些Web服务上。

我想知道是否可以将此控件插入某个MVC页面,或者我是否应该从头开始重新构建此功能,纯粹使用HTML帮助程序。我想的是后者。

对于自定义html帮助程序,我是一个初学者。我可以像编程服务器端控件一样处理编程自定义html助手吗?

顺便说一句,我需要添加这个示例网址来显示我正在谈论的内容: http://msdn.microsoft.com/en-us/library/aa719734(v=vs.71).aspx

每当我提到服务器端控件时,人们就会假设本机ASP.NET控件或用户控件,而我正在谈论自定义服务器端控件。

几个月前我使用了自定义服务器控制方法,因为它使部署非常简单,并且易于添加到其他.net项目中。因为它将所有内容都包含在一个dll中,所有你需要做的就是回收池。但似乎MVC说,“不,你不打算和我这样做。”

任何有关如何处理此问题的建议,提示或链接都会有所帮助。

是的,如果在网上很容易找到,我不会在这里发帖。我发现的大多数示例仅讨论用户控件或本机asp服务器控件,而不涉及自定义服务器控件。我只是不想再一次执行此功能并经历这种麻烦。

1 个答案:

答案 0 :(得分:0)

您无法在MVC中使用ascx或dll自定义控件。 大多数情况下,因为ASP.net控件的生命周期是不同的。 在MVC中 - 控件只呈现HTML,它们不接收任何回发,它们不保存controlstate或viewstate。甚至“Page”对象在MVC中也不存在。

MVC控件可以接受参数并呈现HTML。