<button class="btn btn-primary" data-bind="click:function(){show('add');}">Add</button>
私の目的は、入力レコードの値を自動的にID番号でバックエンドに追加することです。しかし、私がボタンをクリックした後に、私に内部サーバーエラーを表示します。レコードは時々データベースに保存されました。 Idは0だった。私はすでにIdプロパティをNullableに設定している。以下は私のAdd関数とオブジェクトです。あなたからスマートな人たちのアイデアを得ることができますか?どうもありがとうございました。ASP.NET MVCとKnockoutJSを使用してレコードを追加するには?
self.addCustomer = function() {
debugger;
var cus = { Name : self.cusName(), Address: self.cusAddress()}
var url = "/Customer/AddCustomer";
$.ajax({
type: "POST",
url: url,
data: cus,
success: function (data) {
alert("Insert Successful!");
GetCustomers();
$('#AddCustomer').modal('hide');
},
error: function (error) {
alert(error.statusText);
}
});
};
self.customers = ko.observableArray([]);
GetCustomers();
function GetCustomers() {
$.ajax({
type: "GET",
url: "/Customer/GetCustomer",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (data) {
self.customers(data);
},
error: function (error) {
alert(error.statusText);
}
});
}
self.getSelected = function (cus) {
self.cusId(cus.Id),
self.cusName(cus.Name),
self.cusAddress(cus.Address)
};
バックエンドのポストアクション。
[HttpPost]
public ActionResult AddCustomer(CustomerModel customer)
{
var cus = new Customer
{
//Id = customer.Id,
Name = customer.Name,
Address = customer.Address
};
customerContext.Customers.Add(cus);
customerContext.SaveChanges();
return null;
}
ありがとうございます。 Idプロパティをnull可能なintとして変更します。しかし、クリックイベントの追加と編集の両方で、常に「内部サーバーエラー」ダイアログが表示されます。私はApplication.EndRequestメソッドをGlobal.aspx.csに入れましたが、まだ動作していません。 : – Auck
それ以外の場合は、しばらくの間、データベースに保存されている名前と住所のデータが、IDはまだ0です。内部サーバーのエラーは次のバグです – Auck
私はすでにすべてのバグを修正し、 :) – Auck