Реализация .NET Gridview с SqlDataSource - исключение при редактировании - PullRequest
6 голосов
/ 11 марта 2010

Я пытаюсь создать подкласс для элемента управления .NET 2.0 Gridview и внедрить пользовательское обновление, которое будет выполняться при нажатии «изменить»; однако я получаю следующее загадочное сообщение об ошибке: «Произошла непредвиденная ошибка». Я пытаюсь получить доступ к нашим журналам базы данных, чтобы увидеть, если он не работает там, но пока я не получу доступ, я не могу отладить проблему Вот фрагменты моего кода:

В методе 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);

В веб-контроле 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);
    }
}

1 Ответ

1 голос
/ 10 марта 2011

Эта строка:

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

Вы говорите, что тип является целым числом, но передаете ему строку (имя). Это верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...