vb.net动态加载和调用文件

时间:2010-11-24 14:33:55

标签: php .net asp.net vb.net plugins

我对.net有点新意,所以我想知道这样的事情是否可行。 我有一个基本的aspx脚本需要加载一些“插件”。 每个插件都有自己的设置,它应该执行不同的逻辑。 我在php中做的是为每个插件创建一个类,加载该类,将设置文件传递给它,并在该类上调用一些方法,这将给我一些输出。但它甚至可能在vb.net中?我需要有多个具有多个类的文件,加载这些文件,具体取决于插件名称,并调用它们上的一些方法来解析该插件的设置。

谢谢

2 个答案:

答案 0 :(得分:1)

您可以通过多种方式完成您在ASP.NET中要完成的任务。您可以使用User ControlsServer Controls。用户控件的主要区别是动态编译,如ASP.NET页面,并且服务器控件是预编译的。

服务器控件对于创建自包含控件非常有用,其中重用非常重要。允许您将单个.dll部署到需要控件的项目中,并像访问OOP代码中的任何其他共享库一样访问它。

向页面添加服务器控件非常简单。您只需将.dll放在BIN文件夹中并添加对该页面的引用即可。参考文献与此类似:

<%@ Register TagPrefix="radM" Namespace="Telerik.WebControls" Assembly="RadMenu.Net2" %>

在您的页面上访问该控件然后变得如下所示:

<radm:radmenu id="RadMenu5" runat="server"></radm:radmenu>

用户控件非常适合在应用程序中将代码和控件组合在一起。不需要在各种项目中重用代码,并且您只是在一个应用程序中有用的方式组合或操作控件。

注册和使用用户控件类似于服务器控件,如下所示:

<%@ Register TagPrefix="Control1" TagName="Menu" Src="controls/Menu.ascx" %>

在代码中访问它也可以用类似的方式完成:

<Control1:Menu ID="ucMenu" runat="Server" />

如果首先向页面添加占位符控件,还可以以编程方式向页面添加控件。与下面的方法类似:

此代码将出现在您的代码隐藏文件中:

Dim ucMenu As UserControl = LoadControl("/Controls/Header.ascx")
MenuPlaceHolder.Controls.Add(ucMenu)

您的.aspx页面只需要在您想要动态添加控件的位置使用PlaceHolderControl;如下所示:

<asp:PlaceHolder ID="MenuPlaceHolder" runat="server" /> 

答案 1 :(得分:0)

您可以将UserControl用于此类目的 您可以在页面中加载usercontrols并调用usercontrols上可用的方法并访问公共成员。