Как добавить кнопку ссылки на данные с помощью команды arg - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь создать datatable в сети asp и заполнить его из базы данных.Затем при нажатии на кнопку редактирования откройте новую страницу для редактирования данных.

aspx

<table class="table table-striped table-bordered table-hover" id="sample_1">
    <thead>
       <tr>
          <th>First Name</th>        
          <th>Last Name</th>
          <th>Badge</th>
          <th>Edit</th>                     
       </tr>
     </thead>
</table>

js

<script type="text/javascript">
     RetireveData();
     function RetireveData() {
            $.ajax({
                type: "POST",
                url: "page1.aspx/RetrieveData", //this will call cs func to fill from DB
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: successRetireveData,
                failure: function (response) {
                    alert("Error");
                }
            });
        }
      function successRetireveData(response) {
                $('#sample_1').dataTable().fnClearTable();
                $('#sample_1').dataTable().fnClearTable();
                var td1, td2, td3, td4;
                var i = 0;
                while (i < response.d.length) {

                    td1 = "<td class='label label-sm label-success '>" + response.d[i].FirstName + "</td>";;
                    td2 = "<td class='label label-sm label-success '>" + response.d[i].LastName + "</td>";;
                    td3 = "<td class='label label-sm label-success '>" + response.d[i].Badge + "</td>";;

///// I try the 4 lines below but nothing works ///////

                    //td4 = "<td class='label label-sm label-success '><button id='editBtn' onclick='editClick(" + response.d[i].ID + ")'>" + 'Edit' + "</button></td>";;
                    //td4 = "<td class='label label-sm label-success '><a class='btn btn-info btn-sm' id = 'Edit' href='#' runat='server' OnServerClick='Edit_Click'>" + 'Edit' + "</a></td>";;
                    //td4 = "<td class='label label-sm label-success '><asp:LinkButton runat='server' CausesValidation='false' class='btn btn-danger' CommandArgument='<%# Eval("ID")  %>' onclick='Edit_Click' >" + 'Edit' + "</asp:LinkButton></td>";;
                   //td4 = "<td class='label label-sm label-success '><a class='btn btn-info btn-sm' href='Edit.aspx?ID=" + response.d[i].ID + "'>" + 'Edit' + "</a></td>";;

                    i++;

                    $('#sample_1').dataTable().fnAddData([td0,td1,td2, td3, td4, td5, td6, td7, td8, td9]);

                }
            }

</script>

Я пытаюсь поставить функцию редактирования сначала в CS, а затем я пытаюсь поместить ее в JS

CS

protected void Edit_Click(string x)
    {
        Session["ID"] = x;
        Response.Redirect("Edit.aspx");
    }

JS

function editClick(ID) {
     alert(ID); //works fine
     '<%Session["ID"] = "' + ID + '"; %>';
     alert('<%=Session["ID"] %>');  // works fine



  // All below code is not working
        window.location.href = "Edit.aspx";
        window.location = "Edit.aspx";
        window.location.assign("Edit.aspx");
        document.location.href = 'Edit.aspx';
        return false;
    }

Я хочу, чтобы при нажатии кнопки «Изменить» идентификатор передавался на страницу Edit.aspx, чтобы пользователь мог редактировать информацию о выбранной строке.

...