如何在c#中使用其他页面的负载控制

时间:2014-08-20 03:29:20

标签: c# asp.net

我有一个名为"psstep2tabstrip.ascx.cs"的文件,其中定义了公共部分类:

public partial  class PSStep2Display :Syntegra.Manufacturing.WMCCM.Web.UI.Components.WMCCMControl

在这个文件中我可以打电话:

PSStep2Display control = (PSStep2Display) LoadControl("~/WMCCM/PartnerSearch/PSStep2Display.ascx");

现在在我的档案中 companies.ascx.cs我打了同样的电话:

PSStep2Display control = (PSStep2Display) LoadControl("~/WMCCM/PartnerSearch/PSStep2Display.ascx");

但它无法识别

 PSStep2Display

我已尝试将"psstep2tabstrip.ascx"标题添加到"companies.ascx"的标题中:

   <%@ Reference Control="~/wmccm/partnersearch/psstep2display.ascx" %>
<%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %>
<%@ Control Language="c#" Inherits="Syntegra.Manufacturing.WMCCM.Web.UI.PartnerSearch.PSStep2TabStrip" Codebehind="PSStep2TabStrip.ascx.cs" %>

但它仍然无法识别。我怎么能在这里纠正这个错误?

2 个答案:

答案 0 :(得分:1)

如果您想使用

这样的控件,则必须使用PSStep2Display控件的名称空间作为使用指令
PSStep2Display control = (PSStep2Display) LoadControl("~/WMCCM/PartnerSearch/PSStep2Display.ascx");

而不是像这样使用它

Control control = LoadControl("~/WMCCM/PartnerSearch/PSStep2Display.ascx");

答案 1 :(得分:1)

  1. 要使其可见,请使用using directive
  2. 如果PSStep2Display是nested class,您应该像ContainerClass.NestedClass一样引用它。