2010-03-11 13 views
6

Estoy intentando subclasificar el control .NET 2.0 Gridview e implementar una actualización personalizada para realizar cuando se hace clic en "editar"; sin embargo, recibo el siguiente mensaje de error críptico: "Ha ocurrido un error inesperado". Estoy intentando acceder a nuestros registros de db para ver si falla allí, pero hasta que no tenga acceso, no puedo solucionar el problema. Éstos son fragmentos de mi código:Implementando .NET Gridview con SqlDataSource - en la excepción de edición

En el método WebPart CreateChildControls:

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); 

En el WebControl EditGridView:

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); 
    } 
} 
+11

Nikkia, para averiguar cuál es el error, puede modificar el archivo web.config para que en lugar de la página "Un error inesperado" obtenga un seguimiento de la pila. Vea aquí: http://blog.thekid.me.uk/archive/2007/02/15/a-solution-to-quot-an-unexpected-error-has-occurred-quot-in-wss-v3.aspx –

+0

¿Puede describir el problema completo en más detalles? –

Respuesta

1

Esta línea :

... ("ExtraParamName", DbType.Int32, e.NewValues ​​["ExtraParamName"]. ToString()));

Usted dice que el tipo es un int pero le está pasando una cadena (nombre). ¿Está bien?

Cuestiones relacionadas