Hejsa!
Jeg går og roder med et problem jeg simpelthen ikke kan greje - og jeg tror der måske ligger flere ting bag det. Nå, men here goes:
Når folk besøger min hjemmeside, har jeg nogle gridviews som bliver udfyldt af et custom genereret dataset som jeg har lavet fra en mysql database. Dette fungerer fint, hvis man blot besøger min side. Men nu kommer så det underlige.
Hvis brugeren begynder at refreshe siden (F5), dvs. holder knappen inde så han refresher rigtigt rigtigt rigtigt hurtigt (
), får man en fejl:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
GuitarZero.Main.NewRow(DataTable dTbl1) in C:\Users\Michael\Documents\GuitarZero\GuitarZero\Default.aspx.cs:88
GuitarZero.Main.FillGridviews() in C:\Users\Michael\Documents\GuitarZero\GuitarZero\Default.aspx.cs:73
GuitarZero.Main.Page_Load(Object sender, EventArgs e) in C:\Users\Michael\Documents\GuitarZero\GuitarZero\Default.aspx.cs:22
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Koden hvor det sker ser sådan her ud:
for (int n = 0; n < 25; n++)
{
if (title[n] != null)
{
DataRow myrow1 = dTbl1.NewRow();
myrow1["Title"] = title[n];
myrow1["Artist"] = artist[n];
// Add the row into the table
dTbl1.Rows.Add(myrow1);
}
Fejlen kommer altså når jeg prøver at adde en række til mit dataset (som så senere skal tilføjes til mit gridview). Og fejlen kommer KUN når man opdaterer rigtigt rigtigt rigtigt hurtigt.
Men hvad der er endnu mere underligt er, at de adresser som serveren giver mig i stack trace - er adresserne på mit project LOKALT. Dvs. på min kære bærebar som jeg sidder og koder med, og IKKE adresserne på filerne som ligger på serveren. Jeg har prøvet at finde ud af hvordan hulen jeg skal ændre de instillinger men jeg kan simpelthen ikke finde dem i mit visual 2008 :/.
Jeg tror måske dette kan være een af grundene til at serveren ikke kan finde objektet - men det virker bare underligt, at det sagtens virker hvis man loader siden selv :/.
Prøv selv:
http://www.guitarzero.euMange tak!
Michael
//Edit, ja - kan sq se jeg har posted i det forkerte forum, kan en admin være så flink at flytte det over til .net?Takker
PS. Det virker også 100% når jeg kører siden lokalt, uanset hvor hurtigt jeg refresher.
Indlæg senest redigeret d. 06.05.2009 14:21 af Bruger #14872