Ich versuche, das .NET 2.0 Gridview-Steuerelement zu unterklassifizieren und ein benutzerdefiniertes Update zu implementieren, wenn "Bearbeiten" angeklickt wird; Ich bekomme jedoch die folgende kryptische Fehlermeldung: "Ein unerwarteter Fehler ist aufgetreten." Ich versuche, auf unsere Db-Logs zuzugreifen, um zu sehen, ob es dort fehlschlägt, aber bis ich Zugriff bekomme, kann ich das Problem nicht debuggen. Hier sind Schnipsel meines Codes:Implementieren von .NET Gridview mit SqlDataSource - bei Bearbeitung Ausnahme
Im WebPart Create Methode:
sqlDataSource.UpdateCommand = "dbo.UpdateInvoiceData";
sqlDataSource.UpdateCommandType = SqlDataSourceCommandType.StoredProcedure;
sqlDataSource.UpdateParameters.Add(new Parameter("month", DbType.Int32, "2"));
sqlDataSource.UpdateParameters.Add(new Parameter("year", DbType.Int32, "2010"));
this.Controls.Add(sqlDataSource);
EditGridView edv = new EditGridView(sqlDataSource);
this.Controls.Add(edv);
Im EditGridView webcontrol:
OnLoad:
this.AutoGenerateEditButton = true;
this.AutoGenerateColumns = true;
string[] keyNames = { "Name" };
this.DataKeyNames = keyNames;
this.EnableViewState = true;
this.DataSourceID = sqlDataSource.ID;
this.DataBind();
protected override void OnRowUpdating(GridViewUpdateEventArgs e)
{
try
{
sqlDataSource.UpdateParameters.Add(new Parameter("ExtraParamName", DbType.Int32, e.NewValues["ExtraParamName"].ToString()));
sqlDataSource.UpdateParameters.Add(new Parameter("Name", DbType.String, e.NewValues["Name"].ToString()));
sqlDataSource.UpdateParameters.Add(new Parameter("spUser", DbType.String, "test"));
}
catch (Exception ex)
{
this.Page.Response.Write("Error occurred while updating the record. " + ex.Message);
}
}
Nikkia, um herauszufinden, was der Fehler ist, können Sie die web.config ändern, so dass anstelle der "Ein unerwarteter Fehler" -Seite erhalten Sie einen Stack-Trace. Siehe hier: http://blog.thekid.me.uk/archive/2007/02/15/a-solution-to-quot-an-unexpected-error-has-occurred-quot-in-wss-v3.aspx –
Können Sie das gesamte Problem detaillierter beschreiben? –