2012-06-05 63 views
0

我有一個列表視圖有5列,通過存儲過程填充。這顯示很好。 我也有一個只接受一個int(ID)的Delete方法,但我不知道如何在listview的dataSource中定義這個方法。ListView.Delete()方法和參數

我不斷收到一個錯誤,沒有刪除方法,它需要5個參數(列表視圖的列名),當然沒有。有一個需要一個int參數,見下文。

我認爲DataSource Delete方法聲明必須存在一些錯誤,誰能告訴?

<asp:ObjectDataSource ID="userListDataSource" runat="server" 
      SelectMethod="GetUserList" TypeName="UserManagerBO" 
      DeleteMethod="DeleteUser"> 
      <DeleteParameters> 
       <asp:Parameter Name="userID" Type="Int32"/> 
      </DeleteParameters> 
     <SelectParameters> 
      <asp:ControlParameter DefaultValue="61" Name="userID" Type="Int32" 
       ControlID="lbUsers" PropertyName="SelectedValue" /> 
     </SelectParameters> 
</asp:ObjectDataSource> 

的方法來刪除是DeleteUser(int userID),它似乎總是看SelectParameters,甚至對我的刪除方法。

回答

0

嘗試不提供參數給deletemethod,通過這樣做,您可以將選定的整個對象作爲參數刪除。在刪除方法,

Public Void DeleteUser(User usr) 
{ 
     //delete user of usr.UserID 
} 
+0

如果我這樣做,我得到:ObjectDataSource控件「userListDataSource」找不到非泛型方法「DeleteUser」有參數:UL_Id,DateFrom,DateTo,TotalHours,記事本,型號。 Delete方法必須與Select中的參數完全相同嗎? –

+0