首页 文章

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

提问于
浏览
0

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

谢谢

2 回答

  • 0

    有多种方法可以实现您在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

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

相关问题