1

我过去创建了几个自定义服务器控件,这些不是用户控件,因此没有“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 服务器控件,而没有涉及自定义服务器控件。我只是不想再次执行此功能并经历那种头痛。

4

1 回答 1

0

您不能在 MVC 中使用 ascx 或 dll 自定义控件。主要是因为 ASP.net 控件的生命周期不同。在 MVC 中 - 控件只呈现 HTML,它们不接收任何回发,它们不保存 controlstate 或 viewstate。MVC 中甚至不存在“页面”对象。

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

于 2013-08-20T18:47:26.583 回答