2016-03-04 75 views
0

我一直在试图从我的.ascx.cs调用一个方法到我的.aspx.cs代码隐藏。例程将允许.aspx页面上的复选框在我的用户控制页面上隐藏/显示文本框和标签。这是我到目前为止。我有标签的可见性和文本框在属性中设置为false。试图从控制页调用方法

控制代码隐藏页:背后

public partial class Controls_udc : System.Web.UI.UserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    private bool MakeVisible(object sender, EventArgs e) 
    { 
     return (labelComments.Visible == true) && (textComments.Visible == true); 
    } 

代码.aspx页:

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    private void CheckBox1_CheckedChanged(object sender, EventArgs e) 
    { 
     Controls_udc.MakeVisible(); 
    } 

} 

我收到的编译器错误是编译器错误信息:CS0117: 'Controls_udc' 不包含一个定义'MakeVisible'。

我相信我在正确的轨道上,但只需要几个指针。

回答

1

MakeVisible方法必须是public但在您的代码中它是private。它应该改变。

+0

谢谢。我将其更改为公共,但我收到另一个编译器错误。 CS1501:方法'MakeVisible'没有重载需要0个参数。 – jsnhndrsn1985

+0

@ jsnhndrsn1985这是因为你的方法需要两个参数。一个对象和一个EventArgs。 – mason

+0

向Controls_udc页面类中添加一个constactor不要有参数。例; public void Controls_udc(){} –