2012-06-19 2 views
1

Привет всем Я создаю функциональность обновления с помощью objectdatasource. На самом деле он работал нормально, пока я не изменил параметр UpdateMethod. У меня есть два параметра, но он ожидает три параметра. Дайте мне ошибку ниже.Проблема с обновлением объекта DataDatasource

ObjectDataSource 'ODSConfig' could not find a non-generic method 'UpdatePagedDataSet' that has parameters: CONFIG_VALUE, configKey, configValue. 

C# Код:

protected void ODSConfig_Updating(object sender, ObjectDataSourceMethodEventArgs e) 
    { 
    TextBox val = (TextBox)GVConfig.Rows[GVConfig.EditIndex].Cells[2].Controls[0]; 
    Parameter objKeyConfig = new Parameter("configKey", DbType.String, GVConfig.Rows[GVConfig.EditIndex].Cells[1].Text); 
    Parameter objKeyValueConfig = new Parameter("configValue", DbType.String, val.Text); 
    e.InputParameters["configKey"] = objKeyConfig.DefaultValue; 
    e.InputParameters["configValue"] = objKeyValueConfig.DefaultValue; 
    } 
+0

Ваше сообщение об ошибке говорит, что вам нужно три параметра в методе обновления. Вам не хватает параметра CONFIG_VALUE. –

+0

@BogdanRotund: Я не хочу третьего параметра. Даже в бизнес-логике у меня есть только два параметра. – user968441

+0

Проверьте, сколько параметров имеет ваш UpdatePagedDataSet. –

ответ

1

После добавления параметров просто добавьте ODSConfig.Update();

После этого ваш код будет выглядеть следующим образом:

protected void ODSConfig_Updating(object sender, ObjectDataSourceMethodEventArgs e) 
    { 
    TextBox val = (TextBox)GVConfig.Rows[GVConfig.EditIndex].Cells[2].Controls[0]; 
    Parameter objKeyConfig = new Parameter("configKey", DbType.String, GVConfig.Rows[GVConfig.EditIndex].Cells[1].Text); 
    Parameter objKeyValueConfig = new Parameter("configValue", DbType.String, val.Text); 
    e.InputParameters["configKey"] = objKeyConfig.DefaultValue; 
    e.InputParameters["configValue"] = objKeyValueConfig.DefaultValue; 
ODSConfig.Update(); 
    } 

благодарит

Смежные вопросы