<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Data Presentation Controls</title><link>http://forums.asp.net/24.aspx</link><description>ASP.NET data-bound controls such as the DataGrid, DataList, GridView, FormView, DetailsView, and Repeater Controls.  &lt;a href="http://aspadvice.com/SignUp/list.aspx?l=23&amp;c=17" target="_blank"&gt;Email List&lt;/a&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: Deleting is not supported by ObjectDataSource objDataSource unless the DeleteMethod is specified</title><link>http://forums.asp.net/thread/3279798.aspx</link><pubDate>Tue, 07 Jul 2009 19:35:20 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3279798</guid><dc:creator>alessandro</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3279798.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=24&amp;PostID=3279798</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;cool. np :-)&lt;/p&gt;</description></item><item><title>Re: Deleting is not supported by ObjectDataSource objDataSource unless the DeleteMethod is specified</title><link>http://forums.asp.net/thread/3279694.aspx</link><pubDate>Tue, 07 Jul 2009 18:15:55 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3279694</guid><dc:creator>john.lam</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3279694.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=24&amp;PostID=3279694</wfw:commentRss><description>&lt;p&gt;yep, that works, thanks for your help!&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Deleting is not supported by ObjectDataSource objDataSource unless the DeleteMethod is specified</title><link>http://forums.asp.net/thread/3277168.aspx</link><pubDate>Mon, 06 Jul 2009 16:09:27 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3277168</guid><dc:creator>alessandro</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3277168.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=24&amp;PostID=3277168</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;mm change also the delete parameter, I forgot to update that one.&lt;/p&gt;
&lt;p&gt;&amp;lt;asp:ObjectDataSource ID=&amp;quot;objAllDepartments&amp;quot; runat=&amp;quot;server&amp;quot; TypeName=&amp;quot;Project.BLL.Membership.Role&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectMethod=&amp;quot;GetAllRoles&amp;quot; UpdateMethod=&amp;quot;UpdateRole&amp;quot; DeleteMethod=&amp;quot;DeleteRole&amp;quot; OnDeleted=&amp;quot;DepartmentDeleted&amp;quot;&lt;br /&gt;OldValuesParameterFormatString=&amp;quot;{0}_original&amp;quot; ConflictDetection=&amp;quot;CompareAllValues&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;UpdateParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Parameter Name=&amp;quot;RoleName_original&amp;quot; Type=&amp;quot;String&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Parameter Name=&amp;quot;roleName&amp;quot; Type=&amp;quot;String&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/UpdateParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DeleteParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Parameter &lt;strong&gt;Name=&amp;quot;RoleName_original&amp;quot;&lt;/strong&gt; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DeleteParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/asp:ObjectDataSource&amp;gt;&lt;/p&gt;</description></item><item><title>Re: Deleting is not supported by ObjectDataSource objDataSource unless the DeleteMethod is specified</title><link>http://forums.asp.net/thread/3277161.aspx</link><pubDate>Mon, 06 Jul 2009 16:06:53 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3277161</guid><dc:creator>alessandro</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3277161.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=24&amp;PostID=3277161</wfw:commentRss><description>&lt;p&gt;A lengthy post with full description is a good post imho &lt;img title="Laughing" border="0" alt="Laughing" src="http://forums.asp.net/tiny_mce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif" /&gt;&lt;/p&gt;
&lt;p&gt;So, about your issue at hand, use OldValuesParameterFormatString Property of your objectdatasource control like this :&lt;/p&gt;
&lt;p&gt;&amp;lt;asp:ObjectDataSource ID=&amp;quot;objAllDepartments&amp;quot; runat=&amp;quot;server&amp;quot; TypeName=&amp;quot;Project.BLL.Membership.Role&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectMethod=&amp;quot;GetAllRoles&amp;quot; UpdateMethod=&amp;quot;UpdateRole&amp;quot; DeleteMethod=&amp;quot;DeleteRole&amp;quot; OnDeleted=&amp;quot;DepartmentDeleted&amp;quot;&lt;br /&gt;OldValuesParameterFormatString=&amp;quot;{0}_original&amp;quot; ConflictDetection=&amp;quot;CompareAllValues&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;UpdateParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Parameter Name=&amp;quot;roleName_original&amp;quot; Type=&amp;quot;String&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Parameter Name=&amp;quot;roleName&amp;quot; Type=&amp;quot;String&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/UpdateParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DeleteParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Parameter Name=&amp;quot;RoleName&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DeleteParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/asp:ObjectDataSource&amp;gt;&lt;/p&gt;
&lt;p&gt;in this way, since the value you need (the original rolename unmodified is still stored in datakeynames) and the new value will both have the same name, you can resolve the conflict and get both the parameters by applying OldValuesParameterFormatString=&amp;quot;{0}_original&amp;quot; and ConflictDetection=&amp;quot;CompareAllValues&amp;quot;. &lt;/p&gt;
&lt;p&gt;note the value of OldValuesParameterFormatString=&amp;quot;{0}_original&amp;quot; ; this will pass your fieldname from datakeynames unchanged as it was, renamed as fieldName_original as this is the format i chose to use {0}_original ;&lt;/p&gt;
&lt;p&gt;now make the change also in your function for clarity :&lt;/p&gt;
&lt;p&gt;public static void UpdateRole(string RoleName_original, string RoleName){...}&lt;/p&gt;
&lt;p&gt;and it should just work*&lt;/p&gt;
&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/fan/images/icon-quote.gif"&gt; &lt;strong&gt;msdn:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Conflict Detection&lt;br /&gt;By setting the ObjectDataSource control&amp;#39;s ConflictDetection property to true, you can specify that the ObjectDataSource control should include original values when calling update methods of the source data object.&lt;br /&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.oldvaluesparameterformatstring.aspx"&gt;http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.oldvaluesparameterformatstring.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.conflictdetection.aspx"&gt;http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.conflictdetection.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Not much information provided on msdn&amp;nbsp;i&amp;#39;m afraid, but that and the answer in this post will help you put 2+2 together &lt;img title="Wink" border="0" alt="Wink" src="http://forums.asp.net/tiny_mce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Deleting is not supported by ObjectDataSource objDataSource unless the DeleteMethod is specified</title><link>http://forums.asp.net/thread/3277082.aspx</link><pubDate>Mon, 06 Jul 2009 15:19:29 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3277082</guid><dc:creator>john.lam</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3277082.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=24&amp;PostID=3277082</wfw:commentRss><description>&lt;p&gt;Thanks for your explaination. While I try to work on the update part (to update the department name), I try to use &amp;lt;asp:CommandField ShowEditButton=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/asp:CommandField&amp;gt; together with UpdateParameters in &amp;lt;asp:ObjectDataSource&amp;gt;&amp;lt;/asp:ObjectDataSource&amp;gt;, I notice that everytime I click the Update button, the updated value will not pass to the UpdateMethod and I found that UpdateParameters passed null value to UpdateMethod. Did I do anything wrong in my coding?&lt;/p&gt;&lt;p&gt;&amp;lt;asp:GridView ID=&amp;quot;DepartmentListGridView&amp;quot; runat=&amp;quot;server&amp;quot; AutoGenerateColumns=&amp;quot;false&amp;quot; DataSourceID=&amp;quot;objAllDepartments&amp;quot; DataKeyNames=&amp;quot;RoleName&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Columns&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:BoundField HeaderText=&amp;quot;Department&amp;quot; DataField=&amp;quot;RoleName&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:CommandField ShowEditButton=&amp;quot;true&amp;quot; ButtonType=&amp;quot;image&amp;quot; EditImageUrl=&amp;quot;~/Images/edit.gif&amp;quot; UpdateImageUrl=&amp;quot;~/Images/OK.gif&amp;quot; CancelImageUrl=&amp;quot;~/Images/Cancel.gif&amp;quot;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:TemplateField&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:ImageButton ID=&amp;quot;DeleteButton&amp;quot; runat=&amp;quot;server&amp;quot; ImageUrl=&amp;quot;~/Images/delete.gif&amp;quot; CommandName=&amp;quot;Delete&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/asp:TemplateField&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Columns&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/asp:GridView&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:ObjectDataSource ID=&amp;quot;objAllDepartments&amp;quot; runat=&amp;quot;server&amp;quot; TypeName=&amp;quot;Project.BLL.Membership.Role&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectMethod=&amp;quot;GetAllRoles&amp;quot; UpdateMethod=&amp;quot;UpdateRole&amp;quot; DeleteMethod=&amp;quot;DeleteRole&amp;quot; OnDeleted=&amp;quot;DepartmentDeleted&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;UpdateParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Parameter Name=&amp;quot;Department&amp;quot; Type=&amp;quot;String&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/UpdateParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DeleteParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Parameter Name=&amp;quot;RoleName&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DeleteParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/asp:ObjectDataSource&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;public static void UpdateRole(string Department, string RoleName){...}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Actually the value of BoundField is the field RoleName of the table aspnet_Roles, as retrieved by Roles.GetAllRoles(). I&amp;#39;m thinking is that because I have to include RoleId into GridView to make it work?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Sorry for the long questions as I really have no idea on that.&lt;/p&gt;&lt;p&gt;John&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Deleting is not supported by ObjectDataSource objDataSource unless the DeleteMethod is specified</title><link>http://forums.asp.net/thread/3275474.aspx</link><pubDate>Sun, 05 Jul 2009 15:49:19 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3275474</guid><dc:creator>alessandro</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3275474.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=24&amp;PostID=3275474</wfw:commentRss><description>&lt;p&gt;Your welcome &lt;img title="Wink" border="0" alt="Wink" src="http://forums.asp.net/tiny_mce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif" /&gt;&lt;/p&gt;
&lt;p&gt;Define templatefield just for buttonfield or commandfield of type image. or workaround if you want to use a buttonfield. the workaround is there on the bug report.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Deleting is not supported by ObjectDataSource objDataSource unless the DeleteMethod is specified</title><link>http://forums.asp.net/thread/3275467.aspx</link><pubDate>Sun, 05 Jul 2009 15:42:10 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3275467</guid><dc:creator>john.lam</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3275467.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=24&amp;PostID=3275467</wfw:commentRss><description>&lt;p&gt;Hi Anas and Alessandro, thanks for your suggestions and Alessandro&amp;#39;s way works perfectly.&lt;/p&gt;&lt;p&gt;For the bug of ButtonField with type image, if I use a templatefield and define an ImageButton as mention above, should I apply the templatefield for all the fields of the GridView, or just for the ImageButton will do, as in the following code?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre name="code"&gt;&lt;pre name="code"&gt;&amp;lt;asp:GridView ID=&amp;quot;DepartmentListGridView&amp;quot; runat=&amp;quot;server&amp;quot; AutoGenerateColumns=&amp;quot;false&amp;quot; DataSourceID=&amp;quot;objAllDepartments&amp;quot; DataKeyNames=&amp;quot;RoleName&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;Columns&amp;gt;&lt;br /&gt;                            &amp;lt;asp:BoundField HeaderText=&amp;quot;Department&amp;quot; DataField=&amp;quot;RoleName&amp;quot; /&amp;gt;&lt;br /&gt;                            &amp;lt;asp:HyperLinkField Text=&amp;quot;&amp;lt;img src=&amp;#39;/Images/edit.gif&amp;#39; border=&amp;#39;0&amp;#39; /&amp;gt;&amp;quot; DataNavigateUrlFormatString=&amp;quot;RoleUpdate.aspx?RoleName={0}&amp;quot;&lt;br /&gt;                                DataNavigateUrlFields=&amp;quot;RoleName&amp;quot; /&amp;gt;&lt;br /&gt;                            &amp;lt;asp:TemplateField&amp;gt; &lt;br /&gt;                                &amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;                                    &amp;lt;asp:ImageButton ID=&amp;quot;DeleteButton&amp;quot; runat=&amp;quot;server&amp;quot; ImageUrl=&amp;quot;~/Images/delete.gif&amp;quot; CommandName=&amp;quot;Delete&amp;quot; /&amp;gt;&lt;br /&gt;                                &amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;                            &amp;lt;/asp:TemplateField&amp;gt;&lt;br /&gt;                        &amp;lt;/Columns&amp;gt;&lt;br /&gt;                    &amp;lt;/asp:GridView&amp;gt;&lt;/pre&gt;
&lt;br /&gt; &lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;John&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Deleting is not supported by ObjectDataSource objDataSource unless the DeleteMethod is specified</title><link>http://forums.asp.net/thread/3274935.aspx</link><pubDate>Sat, 04 Jul 2009 19:51:16 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274935</guid><dc:creator>alessandro</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274935.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=24&amp;PostID=3274935</wfw:commentRss><description>&lt;p&gt;well yes, you have used the wrong approach. the problem in your approach is you are taking a long un-necessary route and aren&amp;#39;t making use of your controls functionality. while what your doing will work, you are hacking to make it work (put in simple terms).&lt;/p&gt;
&lt;p&gt;Instead use the control as it was meant to function making use of everything it offers you eg, currently you have a gridview bound to an objectdatasource. This combo gives you quite a lot of power. &lt;br /&gt;&lt;br /&gt;Back to your question, your delete method needs to be in the class that represents the objectdatasource. In this case Project.BLL.Membership.Role, so move you code there. I&amp;#39;m not sure why you stopped half way and then decided to hack. The proper way is as follows, by defining this method in your Role class : &lt;br /&gt;&lt;br /&gt;public void Delete(string roleName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Roles.DeleteRole(roleName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;in your ObjectDataSource, add the parameter :&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;lt;DeleteParameters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Parameter Name=&amp;quot;roleName&lt;strike&gt;userName&lt;/strike&gt;&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DeleteParameters&amp;gt;&lt;br /&gt;&lt;br /&gt;the value will be supplied automatically as you already made roleName &lt;strike&gt;userName&lt;/strike&gt; a field in DataKeyNames on your gridview :&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:GridView ID=&amp;quot;DepartmentListGridView&amp;quot; runat=&amp;quot;server&amp;quot; AutoGenerateColumns=&amp;quot;false&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataSourceID=&amp;quot;objDataSource&amp;quot; OnRowCommand=&amp;quot;OnRowCommand&amp;quot; &lt;b&gt;DataKeyNames=&amp;quot;RoleName&amp;quot;&lt;/b&gt;..&lt;br /&gt;&lt;br /&gt;see, and thats it. No RowCommand method, finding the roleName &lt;strike&gt;username&lt;/strike&gt; by index manually and calling a method in your codebehind etc etc..&lt;br /&gt;&lt;br /&gt;also about your error checking and handling, perhaps you want to move that to the deleted method exposed by your objectdatasource : &lt;br /&gt;&lt;br /&gt;subscribe to the event first, perhaps declaratively as below :&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:ObjectDataSource ID=&amp;quot;objDataSource&amp;quot; &lt;b&gt;OnDeleted=&amp;quot;objDataSource_Deleted&amp;quot;&lt;/b&gt;...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;protected void objDataSource_Deleted(object sender, ObjectDataSourceStatusEventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; if (e.Exception != null)&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Handle the specific exception type. The ObjectDataSource wraps&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // any Exceptions in a TargetInvokationException wrapper, so&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // check the InnerException property for expected Exception types.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DepartmentListGridViewErrorMessage.Text = e.Exception.InnerException.Message;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Because the exception is handled, there is&lt;br /&gt;&amp;nbsp;&amp;nbsp; // no reason to throw it.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.ExceptionHandled = true;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;for a proper description of the deleted method, look it up on msdn :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.deleted.aspx"&gt;http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.deleted.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now as you can see, everything should just work. No need for your RowCommand handler. Also be weary of the ButtonField you used with type image :&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:ButtonField CommandName=&amp;quot;Delete&amp;quot; ButtonType=&amp;quot;Image&amp;quot; ImageUrl=&amp;quot;~/Images/delete.gif&amp;quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;This has a bug that causes the gridview to postback twice on IE, so perhaps you might want to use a templatefield and define an ImageButton or workaround and apply the easy fix as suggested on the bug report below :&lt;br /&gt;&lt;br /&gt;&lt;a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=456295"&gt;https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=456295&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT :&lt;/strong&gt; made corrections, since I kept referring to userName when what I really meant was roleName :-)&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Deleting is not supported by ObjectDataSource objDataSource unless the DeleteMethod is specified</title><link>http://forums.asp.net/thread/3274857.aspx</link><pubDate>Sat, 04 Jul 2009 17:39:01 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274857</guid><dc:creator>anas</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274857.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=24&amp;PostID=3274857</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/fan/images/icon-quote.gif"&gt; &lt;strong&gt;john.lam:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;what way I can avoid to use DeleteMethod with the empty method?&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;One way is to change the Delete button commandName from &amp;quot;Delete&amp;quot; to any other name like &amp;quot;DeleteItem&amp;quot;&lt;/p&gt;&lt;pre name="code"&gt;&amp;lt;asp:ButtonField CommandName=&amp;quot;DeleteItem&amp;quot; ...&lt;br /&gt;&lt;br /&gt;Then in your code , you check if the CommandName is &amp;quot;DeleteItem&amp;quot; ,&lt;br /&gt;&lt;br /&gt;&lt;pre name="code"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(e.CommandName&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;quot;DeleteItem&amp;quot;&lt;/span&gt;&lt;span&gt;) ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;p&gt;
This way , you will not have to specify the DeleteMethod because you are not using the specail &amp;quot;Delete&amp;quot; command which requires to specify the DeleteMethod :)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Deleting is not supported by ObjectDataSource objDataSource unless the DeleteMethod is specified</title><link>http://forums.asp.net/thread/3274801.aspx</link><pubDate>Sat, 04 Jul 2009 16:07:34 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274801</guid><dc:creator>john.lam</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274801.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=24&amp;PostID=3274801</wfw:commentRss><description>&lt;p&gt;Hi all, I&amp;#39;m working on a program which I need to show the roles with GridView. I added a button to delete particular record but I got the error message &amp;quot;Deleting is not supported by ObjectDataSourceunless the DeleteMethod is specified&amp;quot;. Finally I figured out that I need to add the property DeleteMethod into ObjectDataSource and to add an empty method for to avoid the error. My questions are: whether I used the wrong approach for this function? In what way I can avoid to use DeleteMethod with the empty method?&lt;/p&gt;&lt;p&gt;Codes:&lt;/p&gt;&lt;pre name="code"&gt;&amp;lt;asp:GridView ID=&amp;quot;DepartmentListGridView&amp;quot; runat=&amp;quot;server&amp;quot; AutoGenerateColumns=&amp;quot;false&amp;quot; DataSourceID=&amp;quot;objDataSource&amp;quot; OnRowCommand=&amp;quot;OnRowCommand&amp;quot; DataKeyNames=&amp;quot;RoleName&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;Columns&amp;gt;&lt;br /&gt;                            &amp;lt;asp:BoundField HeaderText=&amp;quot;Department&amp;quot; DataField=&amp;quot;RoleName&amp;quot; /&amp;gt;&lt;br /&gt;                            &amp;lt;asp:HyperLinkField Text=&amp;quot;&amp;lt;img src=&amp;#39;/Images/edit.gif&amp;#39; border=&amp;#39;0&amp;#39; /&amp;gt;&amp;quot; DataNavigateUrlFormatString=&amp;quot;RoleUpdate.aspx?RoleName={0}&amp;quot;&lt;br /&gt;                                DataNavigateUrlFields=&amp;quot;RoleName&amp;quot; /&amp;gt;&lt;br /&gt;                            &amp;lt;asp:ButtonField CommandName=&amp;quot;Delete&amp;quot; ButtonType=&amp;quot;Image&amp;quot; ImageUrl=&amp;quot;~/Images/delete.gif&amp;quot; /&amp;gt;&lt;br /&gt;                        &amp;lt;/Columns&amp;gt;&lt;br /&gt;                    &amp;lt;/asp:GridView&amp;gt;&lt;br /&gt;                    &amp;lt;asp:ObjectDataSource ID=&amp;quot;objDataSource&amp;quot; runat=&amp;quot;server&amp;quot; TypeName=&amp;quot;Project.BLL.Membership.Role&amp;quot;&lt;br /&gt;                        SelectMethod=&amp;quot;GetAllRoles&amp;quot; DeleteMethod=&amp;quot;Delete&amp;quot;&amp;gt;&amp;lt;/asp:ObjectDataSource&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="c-sharp:showcolumns"&gt;protected void OnRowCommand(object sender, GridViewCommandEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            if (e.CommandName == &amp;quot;Delete&amp;quot;)&lt;br /&gt;            {&lt;br /&gt;                DeleteRole(Convert.ToInt32(e.CommandArgument)); &lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected void DeleteRole(int index)&lt;br /&gt;        {&lt;br /&gt;            string roleName = DepartmentListGridView.DataKeys[index].Value.ToString();&lt;br /&gt;            bool isDeleted = false;&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                Roles.DeleteRole(roleName);&lt;br /&gt;            }&lt;br /&gt;            catch (Exception err)&lt;br /&gt;            {&lt;br /&gt;                DepartmentListGridViewErrorMessage.Text = &amp;quot;Delete Error!&amp;quot;;&lt;br /&gt;                HttpContext.Current.Trace.Write(&amp;quot;Error Message: &amp;quot;, err.Message);&lt;br /&gt;            }&lt;br /&gt;        }&lt;/pre&gt;&lt;br /&gt; public void Delete(){}&lt;br /&gt;&lt;br /&gt;Thanks a lot!&lt;br /&gt;John&lt;br /&gt;&lt;/pre&gt;</description></item></channel></rss>