Avatar billede irsild Nybegynder
22. april 2004 - 14:53 Der er 9 kommentarer og
1 løsning

problemer med codebehind/usercontrol

Hej. Jeg har nogle problemer med usercontrol/codebehind. Hvordan får jeg kaldet en proberty fra en usercontrol i aspx.cs fil?  Når jeg klikker på Buton i web1.aspx skal den tage teksten fra TextBox og sætte ind i TextBox1 i usercontrollen(via proberty)


Jeg har følgende udsnit af kode:

web1.aspx:
<%@ Register TagPrefix="uc1" TagName="a1" Src="a1.ascx" %>
...
<TR>
    <TD>
    <uc1:a1 id="A11" runat="server"></uc1:a1>
    </TD>
</TR>
...




web1.aspx.cs:
...
protected System.Web.UI.WebControls.TextBox TextBox;
protected System.Web.UI.WebControls.Button Button;
...
private void Button1_Click(object sender, System.EventArgs e)
        {       
   
        }




a1.ascx.cs:
public class a1 : System.Web.UI.UserControl
{
    protected System.Web.UI.WebControls.TextBox TextBox1;
...

public String TextBox
{
    get
    {
        return TextBox1.Text;
    }
    set
    {
        TextBox1.Text = value;
    }
}
...
Avatar billede irsild Nybegynder
22. april 2004 - 16:57 #1
Har prøvet dette, men får fejlen :  Object reference not set to an instance of an object. ?


public class web1 : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.TextBox TextB;
        protected System.Web.UI.WebControls.Button Button;       
   
        private void Page_Load(object sender, System.EventArgs e)
        {
            // Put user code to initialize the page here           
        }

       
       
        private void Button_Click(object sender, System.EventArgs e)
        {       
            Test1 ny = new Test1();       
            ny.TextBox = TextB.Text;  // Object reference not set to an instance of an object.
           
        }
    }




public class Test1 : System.Web.UI.UserControl
    {
        protected System.Web.UI.WebControls.TextBox TextBox2;
        protected System.Web.UI.WebControls.Button Button1;
       
        public Test1()
        {
        }   

        private void Page_Load(object sender, System.EventArgs e)
        {
            // Put user code to initialize the page here
        }
       
        public string TextBox
        {
            get
            {
                return TextBox2.Text;
            }
            set
            {
                TextBox2.Text = value;
            }
        }       

        private void Button1_Click(object sender, System.EventArgs e)
        {
       
        }
    }
Avatar billede thrytter Nybegynder
22. april 2004 - 20:27 #2
Øh, spurgte du ikke om det samme i http://www.eksperten.dk/spm/481933, hvor du forøvrigt selv høstede de 50 point....
Avatar billede burningice Nybegynder
22. april 2004 - 23:19 #3
du opretter A11 som et protected field:

protected et_eller_adnet A11;

        private void Button_Click(object sender, System.EventArgs e)
        {       
            ny.TextBox = A11.Text;           
        }
Avatar billede thrytter Nybegynder
23. april 2004 - 00:18 #4
"Object reference not set to an instance of an object" tyder på at du har glemt at skrive NEW et eller flere steder...
Avatar billede irsild Nybegynder
23. april 2004 - 09:02 #5
Jo, jeg har spurgt om noget lignende, men der arbejdede jeg med WebMatrix. Nu prøver jeg i et andet program med codebehind.
Avatar billede irsild Nybegynder
23. april 2004 - 09:25 #6
I webMatrix har jeg ikke oprette usercontrols og webcontrol med new. Skal jeg det gøres, hvis jeg arbejder codebehind?
Skal UserControl have constructor osv.?
Avatar billede burningice Nybegynder
23. april 2004 - 11:05 #7
åhja... det er altid dejligt at komme med løsningen og blive overset
Avatar billede irsild Nybegynder
26. maj 2004 - 16:06 #8
cyberfessor. Læg et svar
Avatar billede burningice Nybegynder
26. maj 2004 - 16:59 #9
svar
Avatar billede irsild Nybegynder
26. maj 2004 - 17:03 #10
Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester