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