Hallo,

Habe mal eine eher anf�ngerorientiertes Problem:

Ich habe eine aspx Seite erstellt in der ich aus einer SQL Abfrage ein
DataSet, und daraus eine neue DataTable:

/// Abschnitt f�r das Lesen und Zuordnen aus der DB

                  string strConn = "server=abc; uid=sa; pwd=123;
database=XYZ;";
                  SqlConnection MyDBConn = new SqlConnection(strConn);
                  MyDBConn.Open();

                  DataSet MyDataSet = new DataSet();


                  string SqlMenu = "SELECT * FROM Menu";

                  SqlDataAdapter MyAdapter = new SqlDataAdapter(new
SqlCommand(SqlMenu, MyDBConn));

                  MyAdapter.Fill(MyDataSet, "Menu");


                  DataTable menuTable = MyDataSet.Tables["Menu"];


                  MyDBConn.Close();

///
----------------------------------------------------------------------------
------------------------------

Durch diese Data.Table iteriere ich dann sp�ter mehrmals mit foreach:

/// Bsp

foreach(DataRow menu0Row in menuTable.Rows)
             {

                     /// verschiedene Funktionen und Bedingungen

             }

///
----------------------------------------------------------------------------
------------------------------

Ich nutze also die einmalig erstellte DataTable um damit mehrere Funktionen
auszuf�hren.
Das funktioniert auch alles Prima innerhalb der aspx-Datei.
Jetzt m�chte ich allerdings die einzelnen Funktionen(foreach-Schleifen,...)
jeweils einzeln in eigene UserControls auslagern um alles ein wenig
�bersichtlicher zu machen.

Habe ein User-Control erstellt - und den Quelltext aus der aspx-Seite nahezu
unver�ndert dort hinein gepastet. Das sieht dann folgendermassen aus:

/// User Conrol

<%@ Control Language="C#" ClassName="myFunction" Debug="true"%>
<%@ import Namespace="System.Data" %>

<script runat="server">

    

    public DataSet MyDataSet;
    public DataTable menuTable;

    
    void Page_Load(object sender, EventArgs e)
    {
             foreach(DataRow menu0Row in menuTable.Rows)
             {

                        /// verschiedene Funktionen und Bedingungen
                     
             }
     }

</script>

///
----------------------------------------------------------------------------
------------------------------

In der aspx Seite ist das ganze folgendermassen registriert:

/// aspx

<%@ Page Language="c#" Debug="true" smartnavigation="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ Register tagprefix="TVL" tagname="myFunction" src="Name.ascx" %>
<script runat="server">

        ...

</script>

        ...

<body>

        <TVL:myFunction id="myFunctionID" runat="server"/>

</body>

///
----------------------------------------------------------------------------
------------------------------


Und... - funktioniert nat�rlich nicht. Bekomme folgende Exception:

System.NullReferenceException: Der Objektverweis wurde nicht auf eine
Objektinstanz festgelegt.

F�r die Zeile(in der UserControl-Datei):

foreach(DataRow menu0Row in menuTable.Rows)

Jetzt w�rde ich gerne wie in der Exception gefordert den Objektverweis auf
eine Objektinstanz festlegen.

Wie mache ich das genau?
------------------------

Und wie lagere ich am besten die DB-Abfrage und DataSet erstellung aus?
-----------------------------------------------------------------------


Kurze Fragen, etwas langer Anlauf. Hoffe ich habe euch nicht allzusehr
erm�det und ihr k�nnt mir weiterhelfen;

Danke
Tim


_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an