jquery ダイアログフォームを使用してデータベースにデータを挿入しようとしています。
これが私のjqueryです:
$(function () {
$("#dialogregister").dialog({
autoOpen: false,
width: 800,
height: 450,
modal: true,
show: 'blind',
buttons: {
'Register': function (event) {
var fname = $("#txt_firstName").val();
var midname = $("#txt_middleName").val();
var lname = $("#txt_lastName").val();
var gender = $('input:radio[name=gender]:checked').val();
var address = $("#txt_Address").val();
var ph = $("#txt_Phone").val();
var email = $("#txt_Email").val();
$.ajax({
type: 'POST',
url: '../Main.aspx/AddNewItem',
data: '{"fname":"' + fname + '", "midname":"' + midname + '", "lname":"' + lname + '", "gender":"' + gender + '", "address":"' + address + '", "phone":"' + ph + '", "email":"' + email + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d) {
alert("Successfully added new item");
}
},
error: function () {
alert("Error! Try again...");
}
});
$(this).dialog('close');
},
'Cancel': function () {
$(this).dialog('close');
}
},
});
$("#signup").click(function (event) {
event.preventDefault();
$("#dialogregister").dialog("open");
});
});
これは、[登録] ボタンをクリックしたときに呼び出されるはずですが、エラー メッセージが表示されます。
public static void AddNewItem(string fname, string midname, string lname, string gender, string address, string phone, string email)
{
Person person = new Person() { Fname=fname, Mname=midname, Lname=lname, Gender=gender, Address=address, Phone=phone, Email=email };
//add your logic to insert item into database
Utility ut = new Utility();
SqlConnection con = ut.openConnection();
string sqlStatement = "insert into tbl_Users values('" + fname + "','" + midname + "','" + lname + "','" +
gender + "','" + address + "','" + phone + "','" + email + "');";
SqlCommand cmd = new SqlCommand(sqlStatement, con);
cmd.ExecuteNonQuery();
}
}
public class Person
{
public string Fname{ get; set; }
public string Mname { get; set; }
public string Lname { get; set; }
public string Gender { get; set; }
public string Address { get; set; }
public string Phone{ get; set; }
public string Email { get; set; }
}
私はそれを間違っていますか?ダイアログからサーバー側のメソッドに値を渡すにはどうすればよいですか?