Avatar billede jokkejensen Novice
25. februar 2005 - 08:54 Der er 16 kommentarer og
1 løsning

HtmlAnchor driller, får en NullReferenceException

Hej jeg er lige ved at lave lidt sortering på en datalist, jeg ved godt man automatisk kan gøre det med et datagrid, men jeg har lige lidt jeg skal bruge fra en datalist så jeg har valgt at lave det manualt.

Problemet er at jeg gerne vil ændre HRef egenskabet på min
<a id="TypeAnchor" name="TypeAnchor" runat="server" HRef="Oel.aspx?s=asc&o=b_type">Type</a>

Dette gør jeg med følgende kode :

if(s=="asc" && o == "b_type")
            {
                databind_OelDataGrid(o, s);
                TypeAnchor.HRef = "Oel.aspx?s=desc&o=b_navn";
            }

Er der nogen der kan fortælle mig hvorfor jeg får en NullReferenceException, jeg har initialiseret den eller hvad det nu hedder med:

protected System.Web.UI.HtmlControls.HtmlAnchor TypeAnchor;

På forhånd tak !
Avatar billede snepnet Nybegynder
25. februar 2005 - 09:25 #1
Hej jokkejensen :o)

Sådan lige umiddelbart ser det mere ud til at det kunne være o eller s der er null, eller noget i din databind_OelDataGrid(o, s) - metode der fejler.

hvor initialiserer du s og b, og hvordan ser din OelData databind_OelDataGrid(...) ud ?

Mvh
Avatar billede jokkejensen Novice
25. februar 2005 - 09:30 #2
private void databind_OelDataGrid(string orderby, string stigning)
        {
            try
            {
                OdbcConnection Conn = new OdbcConnection(ConnStr);
                Conn.Open();
   
                string SQL = "Select * from `oel` order by "+orderby+ " " + stigning;
                Response.Write(SQL + "<br><br><br><br>");
                OdbcCommand Cmd = new OdbcCommand();
                Cmd.CommandText = SQL;
                Cmd.Connection = Conn;
 
                OdbcDataReader MyReader = Cmd.ExecuteReader();
                OelDataGrid.DataSource = MyReader;
                OelDataGrid.DataBind();
                                             
                Conn.Close();
            }
            catch(Exception aabningstider_databind_exp)
            {
                Response.Write(aabningstider_databind_exp.Message);
            }
        }


og min s og o :

        private void Page_Load(object sender, System.EventArgs e)
        {
           
        if(Request.QueryString["s"] != null)
            s = Request.QueryString["s"].ToString();
       
        if(Request.QueryString["s"] != null)
            o = Request.QueryString["o"].ToString();


            if(s == null && o == null)
            databind_OelDataGrid("b_navn", "ASC");
       
            if(s=="asc" && o == "b_type")
            {
                databind_OelDataGrid(o, s);
                TypeAnchor.HRef = "Oel.aspx?s=desc&o=b_navn";
            }

        }


Håber du kan bruge det rod til noget..
Avatar billede jokkejensen Novice
25. februar 2005 - 09:32 #3
jeg har forsøgt med :

        private void Page_Load(object sender, System.EventArgs e)
        {
           
                TypeAnchor.HRef = "Oel.aspx?s=desc&o=b_navn";
   

        }

Det giver samme resultat ?
Avatar billede snepnet Nybegynder
25. februar 2005 - 10:17 #4
Det virker lidt sært .... har du prøvet med en meget simpel udgave - i stil med denne :

<%@ Page language="c#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>Default</title>
        <script language="C#" runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            TypeAnchor.HRef = "http://www.goggle.com";
        }       
        </script>
    </HEAD>
    <body ms_positioning="GridLayout">       
        <form id="Form1" method="post" runat="server">
            <a id="TypeAnchor" name="TypeAnchor" runat="server" HRef="">Type</a>
        </FORM>
    </body>
</HTML>
Avatar billede jokkejensen Novice
25. februar 2005 - 10:21 #5
nej virker den ?
Avatar billede snepnet Nybegynder
25. februar 2005 - 10:39 #6
jeps
Avatar billede jokkejensen Novice
25. februar 2005 - 10:44 #7
hvorfor er det jeg ofte har problemer med at arbejde med htmlcontrols i codebehind.. det stinker totalt ! ... men tak for hjælpen.. jeg må finde et andet alternativ...
Avatar billede jokkejensen Novice
25. februar 2005 - 10:44 #8
how smid lige et svar
Avatar billede snepnet Nybegynder
25. februar 2005 - 10:51 #9
ja det forstår jeg heller ikke hvis du har ... det var kun af praktiske årsager jeg lagde det ud som en fil.
dette virker på samme måde :

<%@ Page language="c#" Codebehind="Default.aspx.cs" AutoEventWireup="false" Inherits="Ri.Elmer.WebUI._Default" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>Default</title>
        <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
        <meta content="C#" name="CODE_LANGUAGE">
        <meta content="JavaScript" name="vs_defaultClientScript">
        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <body ms_positioning="GridLayout">       
        <form id="Form1" method="post" runat="server">
            <a id="TypeAnchor" name="TypeAnchor" runat="server" HRef="Oel.aspx?s=asc&amp;o=b_type">Type</a>
        </FORM>
    </body>
</HTML>


// og denne page_load i codebehind
        private void Page_Load(object sender, System.EventArgs e)
        {           
            TypeAnchor.HRef="http://www.google.com";
        }
Avatar billede snepnet Nybegynder
25. februar 2005 - 10:51 #10
og et svar :o)
Avatar billede jokkejensen Novice
25. februar 2005 - 10:55 #11
grrrr. måske jeg skulle nakke mine frameworks, der ligger efterhånden en del og installere VS på ny.. men ved du om den stadig har styr på mine projekter så ?
Avatar billede jokkejensen Novice
25. februar 2005 - 10:55 #12
og hvilket benytter du ?
Avatar billede snepnet Nybegynder
25. februar 2005 - 11:02 #13
jeg bruger både 1.1 og 2.0.
... jeg tror ikke dit problem ligger frameworks-installation eller VS.

prøv at lav et nyt webprojekt, og lav et lille eksempel med det - som det jeg har sendt.
hvis du ud fra det kan få øje på hvad der er galt hos dig, så post hele balladen herud - så tager jeg en kigger.
mvh
Avatar billede jokkejensen Novice
25. februar 2005 - 11:05 #14
mange tak, jeg vil forsøge.. !!
Avatar billede jokkejensen Novice
25. februar 2005 - 11:15 #15
Ja det virker selvfølgeligt fint i et nyt projekt..... fatter det ikke...

Jeg har forsøgt at slette alt kode og kun beholde den html anchor, men det vil sku ikke virke...
Avatar billede jokkejensen Novice
25. februar 2005 - 12:01 #16
sjovt som et kort spil pirates kan få en til at tænke... burde give kvajebajerer.. min htmlkontrol lå inden i min datalist .. så jeg skulle lige findcontrol hvis der er andre der oplever det samme..
Avatar billede snepnet Nybegynder
25. februar 2005 - 13:12 #17
ah - ja.... den kan godt koste pils sådan en ;o)
mvh
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