を作成しかし、私はsettingProfile JSオブジェクトに包まれたデータを送信するためにAJAXを使用しようとするんそれはHTTP 500内部サーバーエラーエラーを返します、私は問題がデータ型にあると考えています。 AJAXでCreateメソッドを呼び出す正しい方法は何ですか?どのように私は(SettingProfile /作成行くことによって)定期</p> <p>をモデルを作成するために、ASP.NET MVCでAJAXを使用してモデル現在、私ができる5
マイコード:
モデル:
public class SettingProfile
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public string Name { get; set; }
public long? UserId { get; set; }
public string Url { get; set; }
}
ビュー(JS):
function saveSettingProfile() {
var name = prompt("Please enter profile name", "");
var url = $("form").serialize(); // Not AJAX url, its a variable in model
var settingProfile = {
Name: name,
Url: url
};
jQuery.ajax({
url: "@Url.Action("Create", "SettingProfile")",
contentType: "application/json; charset=utf-8",
dataType: "json",
method: "POST",
data: settingProfile
}).done(function (response) {
alert("Profile saved successfully");
}).fail(function() {
alert("Could not save profile");
});
}
コントローラー:
[HttpPost]
//[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Name,Url")] SettingProfile settingProfile)
{
settingProfile.UserId = 8; // TODO: get user id from session
if (ModelState.IsValid)
{
db.SettingProfiles.Add(settingProfile);
db.SaveChanges();
return Json(new { success = true });
}
return Json(new { success = false });
}
HTTPステータスが500の場合、例外メッセージは何ですか? – Anton
Ajax.BeginFormメソッドを使用できないのはなぜですか? – Xavr