修改ObjectDataSource删除参数时出现问题
|
我试图将参数添加到ObjectDataSource的删除事件中,如以下示例中的msdn。我为ObjectDataSource的deleteing事件生成了一个事件处理程序,它具有与示例中相同的签名,但是,当我尝试清除示例中的paramsFromPage时,收到一条错误消息,指出paramsFromPage是只读的。我需要在其他地方进行更改吗?
此示例来自以下msdn页面:
http://msdn.microsoft.com/zh-cn/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
编辑:
以下是我的代码
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是只读的,无法修改。”。
没有找到相关结果
已邀请:
1 个回复
膛嵌墒缅欠
我只是想知道是否有更好的方法从单元格中获取数据,以便更改列顺序不会破坏此代码。