构建ASP.NET Web应用程序和Web表单应用程序通用的自定义控件

时间:2009-11-28 02:41:28

标签: asp.net asp.net-mvc

我必须创建一个自定义控件,只需渲染脚本,如对象标记和一些javascript文件路径...... 这个控件将由MVC和asp.net webform应用程序

使用

如果可能,请提供建议。

1 个答案:

答案 0 :(得分:0)

您面临的最大挑战是如何将HTML写入屏幕。 MVC的控件继承自System.Web.Mvc.ViewUserControl,而WebForms继承自System.Web.UI.UserControl,因此您必须在实际的.ascx文件之间共享另一个类。

使用beestings< %%>编写控件由于这种继承不匹配,与HTML标记混合将变得复杂。

最好的办法是操作共享类中的字符串以获取所需的HTML,然后使用最终结果覆盖ToString()方法。这样,您可以在WebForms控件中的PageLoad(或任何您需要的)事件中调用Response.Write(lControlClassThatDoesTheWork.ToString())。对于MVC,只需创建一个HtmlHelper,它返回ControlClassThatDoesTheWork的实例和<%=%> beesting会为你调用ToString()方法。