title: ObjectDataSource could not find a non-generic method that has parameters:
body: <p>I'm trying to use a Gridview to show a datatable from an Object data source.  It's giving me the error:</p>
  
  <pre><code>ObjectDataSource 'odsStores' could not find a non-generic method 'ProcessDelete' that has parameters: ProcessID.
  </code></pre>
  
  <p>I've read a lot of other answers to this question about matching case, matching format, variables but I think I've done all of those correctly.  Here's the aspx page:</p>
  
  <pre><code>                &lt;asp:GridView ID="gridStores" runat="server" AllowSorting="False" AutoGenerateColumns="False"
                      CssClass="grid-main" DataSourceID="odsStores" EnableViewState="False" OnDataBound="gridStores_DataBound"
                      OnRowDataBound="gridStores_RowDataBound"&gt;
                      &lt;Columns&gt;
                          &lt;asp:TemplateField ShowHeader="False"&gt;
                              &lt;ItemTemplate&gt;
                                  &lt;asp:Image ID="imgModel" runat="server" AlternateText="Click to See Details" CssClass="img-details"
                                      EnableViewState="False" ImageUrl="~/img/detail.gif" /&gt;
                              &lt;/ItemTemplate&gt;
                              &lt;ItemStyle CssClass="grid-main-detail" /&gt;
                          &lt;/asp:TemplateField&gt;
                          &lt;asp:BoundField DataField="ProcessID" HeaderText="ProcessID" /&gt;
                          &lt;asp:BoundField DataField="ProcessName" HeaderText="Process Name" ReadOnly="False" /&gt;
                          &lt;asp:BoundField DataField="ProcessDescription" HeaderText="Process Description" ReadOnly="False" /&gt;
                          &lt;asp:BoundField DataField="UpdateUserID" HeaderText="Last Updated By" ReadOnly="True" /&gt;
                          &lt;asp:BoundField DataField="UpdateTimestamp" HeaderText="Last Updated" ReadOnly="True" /&gt;
                          &lt;asp:CommandField ShowEditButton="True" /&gt;
                          &lt;asp:CommandField ShowDeleteButton="True" /&gt;
                      &lt;/Columns&gt;
                  &lt;/asp:GridView&gt;
  </code></pre>
  
  <p>Here's the code behind, all I have is a break point and it never hits it.</p>
  
  <pre><code>&lt;DataObjectMethod(DataObjectMethodType.Delete)&gt; _
  Private Sub ProcessDelete(ByVal ProcessID As String)
      Dim x As Integer = 0
      x = x + 1
  End Sub
  </code></pre>
  
  <p>Here's the object datasource:</p>
  
  <pre><code>&lt;asp:ObjectDataSource ID="odsStores" runat="server" EnableViewState="False" OldValuesParameterFormatString="original_{0}"
                      SelectCountMethod="GetRowCount" SelectMethod="GetData" TypeName="DataWarehouseUserInterface.ProcessBSL"
                      UpdateMethod="ProcessUpdate" DeleteMethod="ProcessDelete" &gt;
                      &lt;UpdateParameters&gt;
                          &lt;asp:FormParameter Name="ProcessName" Type="String" FormField="ProcessName" /&gt;
                          &lt;asp:FormParameter Name="ProcessDescription" Type="String" FormField="ProcessDescription" /&gt;
                      &lt;/UpdateParameters&gt;
                      &lt;DeleteParameters&gt;
                          &lt;asp:FormParameter Name="ProcessID" Type="String"/&gt;
                      &lt;/DeleteParameters&gt;
                  &lt;/asp:ObjectDataSource&gt;
  </code></pre>