JavaScriptの文字列の配列をボタンでクリックすると、ここでボタンがクリックされます。dataArrayは、行の一部があるテーブルの最初の要素の文字列値を格納します。それ以降JSONとしてi stringify
を選択し、Ajax関数を呼び出して、関数DeleteStudentの後ろにあるコードにデータを送信します。私は、ボタンの上に呼び出す
私のJavaScript関数をクリックしてください:JavaScript配列をAjaxを使用してC#関数に渡す方法
$('#deleteStudent').click(function() {
var dataArr = [];
$.each($("#StudentTable tr.selected"), function() {
dataArr.push($(this).find('td').eq(0).text());
});
var StudentList = JSON.stringify(dataArr);
$.ajax({
type: "POST",
url: "ViewStudents.aspx/DeleteStudent",
contentType: "application/json; charset=utf-8",
data: { Students: dataArr },
dataType: "json",
traditional: true,
success: function (result) {
alert('Yay! It worked!');
},
error: function (result) {
alert('Oh no :( : '+result);
}
});
console.log(StudentList);
});
をdataArrayは、機能の背後にあるこの
["10363","10364","10366"]
コードのようになります。
[WebMethod]
public static void DeleteStudent(string[] Students)
{
Console.WriteLine("Reached CS");
string[] a =Students;
for (int i = 0; i < a.Length; i++)
{
string admissionNumber=a[i];
using (MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString))
{
using (MySqlCommand deleteStudent = new MySqlCommand())
{
deleteStudent.CommandType = CommandType.Text;
deleteStudent.Connection = conn;
deleteStudent.CommandText = "DELETE FROM validstudents WHERE admissionNumber = @admissionNumber ";
deleteStudent.Parameters.AddWithValue("@admissionNumber", admissionNumber);
conn.Open();
deleteStudent.ExecuteNonQuery();
conn.Close();
}
}
}
}
はそれが500内部サーバーを提供します
設定 '伝統的に動作します:真'あなたのAjaxリクエストオプションで。 –
not working that lines – akr