如何在两个不同的模块中使用相同的用户控件

本文关键字:模块 控件 用户 两个 | 更新日期: 2023-09-27 18:35:27

我有两个不同的模块。我正在使用 dnn。我想要的是将用户控件(.ascx)从一个模块注册到另一个模块。

<%@ Register Src="~/DesktopModules/DMS/DMS.PatientDiagnosis/Procedures.ascx" TagName="Procedures" TagPrefix="UC" %>

在不同的页面中使用控件:

<UC:Procedures id="UCProcedures" runat="server"></UC:Procedures>

我试过这个。但是我无法从页面调用该方法Procedures.ascx

调用方法:

 UCProcedures.BindFunction = ViewState("dtSelectedProcedure")
 UCProcedures.BindSelectedProcedures(True)

但无法打电话给BindFunctionBindSelectedProcedures

如何在两个不同的模块中使用相同的用户控件

在我的主模块中:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Pers.ascx.cs" Inherits="Specialist_Pers" %>
<%@ Register src="~/DesktopModules/AgendaPlanner/AgendaPlanner.ascx" tagname="AgendaPlanner" tagprefix="uc1" %>
<uc1:AgendaPlanner ID="AgendaPlanner1" runat="server" />

在我的代码后面的主

public partial class Specialist_Pers : DotNetNuke.Entities.Modules.PortalModuleBase
{
    protected void Page_Load(object sender, EventArgs e)
    {
        AgendaPlanner1.SetAgenda();
    }
}

My AgendaPlanner 也继承自 PortalModuleBase

public partial class DesktopModules_AgendaPlanner_AgendaPlanner : PortalModuleBase
{
    public void SetAgenda()
    {
    }
}