Я пытаюсь добавить параметр к событию удаления ObjectDataSource, как в примере ниже из msdn. Я сгенерировал обработчик события для события удаления ObjectDataSource, и он имел ту же сигнатуру, что и в примере, однако, когда я пытаюсь очистить paramsFromPage, как в примере, я получаю ошибку, сообщающую, что paramsFromPage доступен только для чтения. Есть ли что-то, что мне нужно изменить где-то еще?
Этот пример взят со следующей страницы msdn:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.deleting%28v=VS.90%29.aspx
Private Sub NorthwindEmployeeDeleting(ByVal source As Object, ByVal e As ObjectDataSourceMethodEventArgs)
' The GridView passes the ID of the employee
' to be deleted. However, the business object, EmployeeLogic,
' requires a NorthwindEmployee parameter, named "ne". Create
' it now and add it to the parameters collection.
Dim paramsFromPage As IDictionary = e.InputParameters
If Not paramsFromPage("EmpID") Is Nothing Then
Dim ne As New NorthwindEmployee(paramsFromPage("EmpID").ToString())
' Remove the old EmpID parameter.
paramsFromPage.Clear()
paramsFromPage.Add("ne", ne)
End If
End Sub ' NorthwindEmployeeDeleting
EDIT:
Вот мой код
Protected Sub QueueDataSource_Deleting(ByVal sender As Object, ByVal e As ObjectDataSourceMethodEventArgs) Handles QueueDataSource.Deleting
Dim paramsFromPage As IDictionary = e.InputParameters
Dim queue As New QueueData
If Not paramsFromPage("QueueNamek__BackingField") Is Nothing Then
queue.QueueNamek__BackingField = paramsFromPage("QueueNamek__BackingField")
End If
If Not paramsFromPage("ServerNamek__BackingField") Is Nothing Then
queue.ServerNamek__BackingField = paramsFromPage("ServerNamek__BackingField")
End If
paramsFromPage.Add("queue", queue)
End Sub
Ошибка «OrderedDictionary доступен только для чтения и не может быть изменен». выбрасывается при попытке добавить в упорядоченный словарь.