Asp.net 什么可以';我不能从aspx.cs文件访问UserControl吗?
我有一个default.aspx文件和2个用户控件 用户控制代码1Asp.net 什么可以';我不能从aspx.cs文件访问UserControl吗?,asp.net,user-controls,Asp.net,User Controls,我有一个default.aspx文件和2个用户控件 用户控制代码1 <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %> <%@ Register Src="~/WebUserControl2.ascx" TagName="wc1" TagPrefix="asp2" %> <asp2:wc1 I
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>
<%@ Register Src="~/WebUserControl2.ascx" TagName="wc1" TagPrefix="asp2" %>
<asp2:wc1 ID="control1" runat="server" />
您需要在usercontrol2中创建类型为usercontrol1的公共属性。在将承载两个控件实例的页面中,将usercontrol1的引用分配给usercontrol2的属性,该属性的类型为usercontrol1
无法访问的原因是,在usercontrol2中需要UserOCControl1的实例。使用上述方法可以解决此问题。您需要在usercontrol2中创建usercontrol1类型的公共属性。在将承载两个控件实例的页面中,将usercontrol1的引用分配给usercontrol2的属性,该属性的类型为usercontrol1
无法访问的原因是,在usercontrol2中需要UserOCControl1的实例。使用上述方法可以解决此问题。您需要通过控件的名称而不是其类进行访问:
control1.DoSomething();
一般来说,UserControl类在ASP.Net项目中不可见,因为编译会将添加到不同的程序集。您需要通过控件的名称而不是其类进行访问:
control1.DoSomething();
一般来说,在ASP.Net项目中,UserControl类是不可见的,因为编译会将类添加到不同的程序集。试着用另一种方法来做,您能从Ucrl:1访问Ucrl:2吗?公开公共属性并查看是否可以公开它: 从Ucrl:1>页面加载> Ucr2.MyProp
有时,执行生成>清理解决方案,然后执行生成>重建解决方案并进行排序,或者至少让您走上正确的轨道。尝试以另一种方式执行操作,您可以从Ucrl:1访问Ucrl:2吗?公开公共属性并查看是否可以公开它: 从Ucrl:1>页面加载> Ucr2.MyProp
有时,执行生成>清理解决方案,然后生成>重新生成解决方案并进行排序,或者至少让您走上正确的轨道。您看到的错误是什么?您希望从UserCtrl2还是从默认值访问UserCtrl1。该类甚至没有出现在intellisense中。我想从UC2中访问父用户控件。似乎无法识别该类。您看到的错误是什么?您希望从UserCtrl2还是从默认值访问UserCtrl1。该类甚至没有显示在intellisense中。我想从UC2中访问父用户控件。似乎不认识这个班。我试过了,但不起作用。出于某种原因,我创建的任何控件或页面似乎都对“外部世界”隐藏。我甚至无法从Default.aspx.cs文件访问WebUserControl。VSI可能有问题,它必须工作。您使用的是VS上的哪个版本?您有网站或web应用程序项目吗?此外,请检查您网站中的所有其他组件是否正确编译。有时我观察到,页面中的某些部分可能没有任何错误,但由于网站的其他部分出现错误,它可能无法正常工作。请检查你的网站是否编译完全没有任何错误。我在VS2010中试用过,效果很好,但是,我在VS2008中启动了一个新的解决方案,但没有。似乎需要重新设置我试过了,但没用。出于某种原因,我创建的任何控件或页面似乎都对“外部世界”隐藏。我甚至无法从Default.aspx.cs文件访问WebUserControl。VSI可能有问题,它必须工作。您使用的是VS上的哪个版本?您有网站或web应用程序项目吗?此外,请检查您网站中的所有其他组件是否正确编译。有时我观察到,页面中的某些部分可能没有任何错误,但由于网站的其他部分出现错误,它可能无法正常工作。请检查你的网站是否编译完全没有任何错误。我在VS2010中试用过,效果很好,但是,我在VS2008中启动了一个新的解决方案,但没有。看起来可能需要重置。我甚至无法从我的aspx页面访问这些控件。我认为默认情况下所有控件都在ASP名称空间中,但控件不显示在那里。。。我会尝试做一个干净的谢谢。我甚至不能从我的aspx页面访问这些控件。我认为默认情况下所有控件都在ASP名称空间中,但控件不显示在那里。。。我会试着做一个干净的谢谢。
control1.DoSomething();