Jeg sider med en skole opgave hvor jeg skal lave en routing på mine urls og jeg har fulgt opgaven men jeg får en fejl
Objektreferencen er ikke indstillet til en forekomst af et objekt.
stacksporing siger:
Kode: Vælg alt
[NullReferenceException: Objektreferencen er ikke indstillet til en forekomst af et objekt.]
sider.Page_Load(Object sender, EventArgs e) in c:\Users\Mikkel\Desktop\Sandkassen-Programmering\cms4you\dynamiske-indhold.aspx.cs:30
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +85
System.Web.UI.Control.OnLoad(EventArgs e) +79
System.Web.UI.Control.LoadRecursive() +130
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2832
Kode: Vælg alt
//Metoden tilat lave pæne URLS...
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("dynamisk-indhold", "dynamisk-indhold/{NiceUrl}", "~/dynamisk-indhold.aspx",
false,
new RouteValueDictionary { {"NiceUrl", string.Empty } });
}
Kode: Vælg alt
if (!IsPostBack)
{
//En instance af den class der henter DataTable fra databasen
siderFac objsider = new siderFac();
DataTable DtSider = objsider.HentAlleSider();
//Udskriver links i menuen til alle sider i databasen
//opbygges iht til den routes der er lavet i global.asax filen.
foreach (DataRow side in DtSider.Rows)
{
litMenu.Text += "<li><a href='/sider/" +
side["fldNiceUrl"].ToString() + "'>" +
side["fldSideNavn"].ToString() + "</a></li>";
}
//Henter "NiceUrl" parameter fra url'en.
//parameters navn er angivet i global.asax filen med bracket {NiceUrl}.
string sidensParameter = Page.RouteData.Values["NiceUrl"].ToString();
//Tjekker i databasen om der er en forkomst af det modtagne parameter...
DataTable dtFundneSider = objsider.HentSider(sidensParameter);
//...Hvis ja, så udskrives sidens tekst indhold i literalen "litSider"...
if (dtFundneSider.Rows.Count > 0)
{
litSider.Text = dtFundneSider.Rows[0]["fldSideIndhold"].ToString();
}
else
{
//Hvis der ikke er valgt nogen side skal man have den her besked...
litSider.Text = "Her kan du se dynamiske sider ved at klikke i menuen til venstre";
}
}