Anmelden

Object reference not set to an instance of an object

Description: HTTP 500. Error processing request.

Stack Trace:

System.NullReferenceException: Object reference not set to an instance of an object
  at _UserLogin.Login1_Authenticate (System.Object sender, System.Web.UI.WebControls.AuthenticateEventArgs e) [0x00000] in < filename unknown>:0
  at System.Web.UI.WebControls.Login.OnAuthenticate (System.Web.UI.WebControls.AuthenticateEventArgs e) [0x00000] in < filename unknown>:0
  at System.Web.UI.WebControls.Login.AuthenticateUser () [0x00000] in < filename unknown>:0
  at System.Web.UI.WebControls.Login.OnBubbleEvent (System.Object source, System.EventArgs e) [0x00000] in < filename unknown>:0
  at System.Web.UI.Control.RaiseBubbleEvent (System.Object source, System.EventArgs args) [0x00000] in < filename unknown>:0
  at System.Web.UI.WebControls.Button.OnCommand (System.Web.UI.WebControls.CommandEventArgs e) [0x00000] in < filename unknown>:0
  at System.Web.UI.WebControls.Button.RaisePostBackEvent (System.String eventArgument) [0x00000] in < filename unknown>:0
  at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (System.String eventArgument) [0x00000] in < filename unknown>:0
  at System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler sourceControl, System.String eventArgument) [0x00000] in < filename unknown>:0
  at System.Web.UI.Page.RaisePostBackEvents () [0x00000] in < filename unknown>:0
  at System.Web.UI.Page.ProcessRaiseEvents () [0x00000] in < filename unknown>:0
  at System.Web.UI.Page.InternalProcessRequest () [0x00000] in < filename unknown>:0
  at System.Web.UI.Page.ProcessRequest (System.Web.HttpContext context) [0x00000] in < filename unknown>:0

Version information: Mono Runtime Version: 2.6.7 (tarball Wed Jul 14 18:00:47 UTC 2010); ASP.NET Version: 2.0.50727.1433

App_LocalResources funtionieren in bestimmten Fällen nicht

  • BoundField.Headertext (muss auf TemplateField umgestellt werden)
  • Hinzugefügte Properties bei ServerControls (Problem tritt nicht bei geerbten Properties auf)
2.4.4

Stile bei BoundField

  • Row-Style, Header-Style usw. kann im statischen DV vom Code in ??? nicht festgelegt werden, wenn deklarativ über ASP gesetzt. (z.B. DetailsView1_DataBound). Vermutlich überschreibt die deklarative Einstellung nach ???.
  • Man muss auf deklarative Variante gänzlich verzichten, wenn per Code gesetzt werden soll. immer per Code zuweisen.
2.4.4

fehlende Ressourcendatei bei meta:resourcekey

A resource object was not found at the specified virtualPath.

Tritt unter Mono 2.4.4, bei Erstaufruf einer Seite auf. Der Call-Stack deutet auf ein Problem mit den lokalen Resourcen hin.

Die Ursache war eine fehlende lokale Ressourcendatei bei Verwendung von meta:resourcekey in einer Masterpage. Offenbar müssen die Ressourcendateien existieren. Normalerweise tritt der Fehler nur bei nicht aktuellen lokalen Ressourcendateien auf und sollte sich mit Aktualisierung der Ressourcendateien beheben lassen.

2.4.4

BoundField.Readonly in DetailsView1_DataBound

The requested operation caused a stack overflow.

In DetailsView1_DataBound darf ReadOnly für ein BoundField nicht gesetzt werden, da DetailsView1_DataBound neu aufgerufen wird.

  at Billing_Forms_StatisticInfo.DetailsView1_DataBound (System.Object sender, System.EventArgs e) [0x00000] 
  at System.Web.UI.WebControls.BaseDataBoundControl.OnDataBound (System.EventArgs e) [0x00000] 
  at System.Web.UI.WebControls.DataBoundControl.PerformSelect () [0x00000] 
  at System.Web.UI.WebControls.BaseDataBoundControl.DataBind () [0x00000] 
  at System.Web.UI.WebControls.DetailsView.DataBind () [0x00000] 
  at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound () [0x00000] 
  at System.Web.UI.WebControls.DetailsView.EnsureDataBound () [0x00000] 
  at System.Web.UI.WebControls.BaseDataBoundControl.set_RequiresDataBinding (Boolean value) [0x00000] 
  at System.Web.UI.WebControls.DetailsView.RequireBinding () [0x00000] 
  at System.Web.UI.WebControls.DetailsView.OnFieldsChanged (System.Object sender, System.EventArgs args) [0x00000] 
  at System.Web.UI.WebControls.DataControlFieldCollection.OnFieldsChanged () [0x00000] 
  at System.Web.UI.WebControls.DataControlFieldCollection.OnFieldChanged (System.Object sender, System.EventArgs args) [0x00000] 
  at System.Web.UI.WebControls.DataControlField.OnFieldChanged () [0x00000] 
  at System.Web.UI.WebControls.BoundField.set_ReadOnly (Boolean value) [0x00000] 
  at Billing_Forms_StatisticInfo.DetailsView1_DataBound (System.Object sender, System.EventArgs e) [0x00000] 

Ferner funktionieren Zuweisungen nicht

2.4.4

TreeView: Zuweisen von Node.Selected löst SelectedNodeChanged aus

Bei Zuweisen von Node.Selected (programmtechnische Bestimmung der selektierten Node) wird Event

SelectedNodeChanged ausgelöst (bei Windows nicht). Das kann man unterdrücken:

load = true;
selectedNode.Selected = true;
load = false;

DetailsView - Server-Controls statisch

Die Reihenfolge der Zuweisung der Properties ist unterschiedlich. Demzufolge kann man keine Annahme über die Reihenfolge des Aufrufs der Accessors machen. Das Ereignis DataBound kommt bei Linux nicht.

Linux:

Nsoft.Com.WebControls.AddressSelect INFO AddressSelectControl_DataBinding
Nsoft.Com.WebControls.AddressSelect INFO AddressSelect_set_Value value2 entityId=
Nsoft.Com.WebControls.AddressSelect INFO AddressSelect_set_EntityId value3 entityId=3

Windows;

Nsoft.Com.WebControls.AddressSelect INFO AddressSelectControl_DataBinding
Nsoft.Com.WebControls.AddressSelect INFO AddressSelect_set_EntityId value2 entityId=2
Nsoft.Com.WebControls.AddressSelect INFO Listitem insetred1
Nsoft.Com.WebControls.AddressSelect INFO AddressSelect_set_Value value2 entityId=2
Nsoft.Com.WebControls.AddressSelect INFO AddressSelectControl_DataBound2

ViewState-Verlust letztes BoundField dynamisch (2.4.4)

Die dynamische Erzeugung von BoundField-abgeleitete Klassen funktioniert, allerdings verliert das letzte Feld nach dem Postback Teile seines Viewstate (HeaderText, ReadOnly, DataField, Options). Dadurch wird die Darstellung beeinträchtigt, bzw. führt zu Fehlern. Die Werteingliederung bei Update funktioniert nicht.

ASP INFO ASP.admin_entityinspector_aspx Page_PreInit OK
AdminService INFO PreparePaymentTemplate providerId:13
ASP INFO Nsoft.Web.WebControls.StringBoundField InitializeValue Control:System.Web.UI.WebControls.DetailsView DataField:SupplierBankCode
ASP INFO Nsoft.Web.WebControls.StringBoundField InitializeValue DataItem:System.Data.DataRowView
ASP INFO Nsoft.Web.WebControls.StringBoundField InitializeValue Control:System.Web.UI.WebControls.DetailsView DataField:SupplierBankName
ASP INFO Nsoft.Web.WebControls.StringBoundField InitializeValue DataItem:System.Data.DataRowView
ASP INFO Nsoft.Web.WebControls.StringBoundField InitializeValue Control:System.Web.UI.WebControls.DetailsView DataField:SupplierAccountNumber
ASP INFO Nsoft.Web.WebControls.StringBoundField InitializeValue DataItem:System.Data.DataRowView
2010-07-06 09:22:27.9058 BLL INFO GetSysState id:DateTimeNow
ASP INFO ASP.admin_entityinspector_aspx Page_PreInit OK
ASP INFO Nsoft.Web.WebControls.StringBoundField InitializeValue Control:System.Web.UI.WebControls.DetailsView DataField:SupplierBankCode
ASP INFO Nsoft.Web.WebControls.StringBoundField InitializeValue Control:System.Web.UI.WebControls.DetailsView DataField:SupplierBankName
ASP INFO Nsoft.Web.WebControls.StringBoundField InitializeValue Control:System.Web.UI.WebControls.DetailsView DataField:
ASP INFO AttributeHelper DataViewUpdate DataField:SupplierBankCode
ASP INFO AttributeHelper DataViewUpdate value:65656
ASP INFO AttributeHelper DataViewUpdate DataField:SupplierBankName
ASP INFO AttributeHelper DataViewUpdate value:565465
ASP INFO AttributeHelper DataViewUpdate DataField:
ASP INFO AttributeHelper DataViewUpdate value:5467546

Als Lösung wird bei dynamischem DetailsView ein zusätzliches unsichtbares BoundField erzeugt, da der ViewState-Verlust nur das letzte Feld betrifft. Das Unsichtbarmachen kann in Page_PreRender über die letzte Row erfolgen. Die Erkennung wurde mit der fehlenden/leeren SortExpression gelöst, möglicherweise kann man auch eine spezielle SortExpression zuweisen (die bleibt komischerweise im ViewState erhalten).

Wizard

Beide Aufrufe schalten den Wizard um, aber Wizard1.ActiveStepIndex liefert danach noch nicht den neuen Wert:

Wizard1.MoveTo(Wizard1.WizardSteps[newIndex]);
Wizard1.ActiveStepIndex = newIndex;

Folgender Code der vom aktuellen Index abhängig ist, muss newIndex verwendet.

CheckBoxField im DetailsView

Bei Windows werden die Controls deaktiviert, wenn eine Row deaktiviert ist, bei Linux nicht. Linux zeigt folgendes Verhalten:

  • im DetailsView ein Row auf disabled gesetzt, beim ersten Aufruf wird Checked korrekt gerendert
  • bei Postback der sichtbaren View verschwindet Checked (wird vermutlich aus Post überschrieben, Post nicht vorhanden oder anderer Fehler)
  • Außerdem wenn bei verdeckter View ein Postback ausgelöst wird (CheckBoxField nicht gerendert) ist ebenso Checked weg. Hier sollte ViewState der CheckBox greifen.

Ein Lösung ist, zusätzlich die Controls zu deaktivieren, wenn eine Row deaktivert wird.

Als eigene Lösung wurde Nsoft.WebControls.CheckBoundField implementiert. Zustand wird im ViewState von CheckBoundField > InitialzeCell gespeichert und mir separater Varianble an ein überschriebenes CheckBox übergeben.

 

Insgesamt ist das Verhalten schwer nachvollziehbar, die NLog (Nsoft.WebControls.CheckBoundField)

UserInspector -> MembershipForm > Exist (CheckBoxField) 

 

DetailsView DataKeyNames/TextBox

DataKeyNames="UserName" Ein Feld aus DataKeyNames kann nicht gleichzeitig als TemplateField/TextBox verwendet werden. ExtractValues liefert nicht den nhalt der TextBox, bei Windows schon.

   
Top

Wir arbeiten mit Software von http://www.campus21.de.

Verantwortlich für angezeigte Daten ist der Webdomain-Eigentümer laut Impressum.

Suche