使用存储过程而不是使用SqlDataSource更新和删除GridView ASP.NET C#中的行

时间:2017-06-22 09:13:51

标签: c# asp.net stored-procedures gridview

我有一个GridView来管理我的产品。我已经使用存储过程为它设置数据源。我还使用AutoGenerateDeleteButton属性来删除GridView的每一行,现在我想使用存储过程删除我的GridView的行,当我点击“删除”LinkBut​​ton时。我在其他论坛上尝试了一些关于ASP.NET的教程,但没有任何反应。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用item命令。在item命令中,您可以将要删除的行的id作为命令参数传递给删除存储过程,然后使用select存储过程在gridview上重新绑定数据源。

$(document).on('click', '#enterbutton', function() {
         $.mobile.changePage('#notesPage');
     });



     $(document).on("pagecreate", "#notesPage", function() {

         /*Load local storage items*/
         var items = localStorage.getItem('items') ? JSON.parse(localStorage.getItem('items')) : items = [];
         var even = [];
         var odd = [];


         console.log(items);
         items.forEach(function(key, value) {
             if (isOdd(value + 1) == 1) {
                 even.push(key);
             } else {
                 odd.push(key);
             }
         });
         if ((0 < even.length) && (0 < odd.length)) {
             for (i = 0; i < even.length; i++) {
                 appendItem(even[i], odd[i],i);
             }
         }


         /*Add new item*/
         $('form').on('submit', function(event) {
             event.preventDefault();
             if ($('#newNote').val() == '' || $('#newamount').val() == '') {
                 alert('Input can not be left blank');
             } else {
                 var item = $('#newNote').val();
                 var inum = $('#newamount').val(); //Append this to the arrayItems;        saveToLocalStorage(item, inum);


                 //Create the new item and inject to list        appendItem(item, inum);


                 $('#mainList').listview('refresh');
                 $.mobile.changePage('#notesPage');
             }
         });
         /*Delete item*/
         $(document).on('click', '.bin', function() {
             var item = $(this).closest('li');
             var index = $(this).data('index');
             items.splice(index, 2);
             console.log(items);
             localStorage.setItem("items", JSON.stringify(items));
             $(item).slideUp();

         });


         /*Check item*/
         $(document).on('click', '.check', function() {
             var item = $(this).closest('li');
             $(item).toggleClass("checked")

         });
         /*Save data to localStorage*/
         function saveToLocalStorage(data, data1) {
             items.push(data, data1);
             console.log(items);
             localStorage.setItem('items', JSON.stringify(items));
         }

         function isOdd(num) {
             return Math.abs(num % 2);
         }

         /*Append item to html*/
         function appendItem(data, data1,index) {
             $('#mainList').append('<li class="ui-li-static ui-body-inherit ui-first-child ui-last-child">' +
                 '<input type="checkbox" class = "check" </input>' +
                 '<div type="number" class = "number">' + data1 + '</div>' +
                 '<div class="item">' + data + '</div>' +

                 '<a href="javascript:undefined;" class="bin">' +
                 '<img class="bin" data-index="'+index+'" src="Bin.png" ' +
                 '</a>' + '</li>');
         }
     });

VB.NET

<asp:LinkButton runat="server" OnCommand="Delete_Command" CommandName="Delete" CommandArgument='<%# Eval("DeleteRowID") %>'></asp:LinkButton>

C#

Protected Sub Delete_Command(sender As Object, e As CommandEventArgs)  
If e.CommandName.ToString = "Delete" Then 
Dim DeleteRowId As String = e.CommandArgument.ToString 
'call procedure here and pass argument delete row id 
'ExambleGridView.DataSource= Call procedure here to get the datasource 
ExambleGridView.DataBind()
End If
End Sub