mvc3 の javascript とともに、さまざまなボタンを使用して、mvc3 の単一ビューで crud 操作を処理したいと考えています。
実際には、アカウント コードと説明フィールドを含むビューがあります。wcf サービスを使用して、SQL Server 2008 R2 データベースにレコードを追加、編集、削除したいと考えています。クライアント側のスクリプトに JavaScript を使用したいと考えています。javascriptのボタンクリックイベントでコントローラーのメソッドを呼び出したい。
どうすればいいのか教えてください。
現在、次のJavaScript関数があります。
$(document).ready(function () {
var today = new Date();
var dd = today.getDate();
$('#sve').click(function () {
var person = { AcCode: $('#AcCode').val(), Descrip: $('#Descrip').val(), AddOn: dd };
$.ajax({
url: '/Home/Save',
type: "POST",
data: JSON.stringify(person),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (result) {
// $('#message').html('Record saved successfully' + result).fadeIn();
alert("Record saved successfully");
},
error: function () {
// $('#message').html('Error Occurred').fadeIn();
alert("Record not saved successfully");
}
});
return false;
});
});
以下は、保存ボタンのコントローラーコードです
[Authorize]
// [Authorize(Roles = "Administrators")]
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "Save")]
public ActionResult Save(AccntBD model)
{
CBSWCF.Account useInfo = new CBSWCF.Account();
if (ModelState.IsValid)
{
if (!model.IsAcCodeExist(model.AcCode))
{
string ObjUser = User.Identity.Name;
string ObjUid = string.Empty;
AcntEnt.AcCode = model.AcCode;
AcntEnt.Descrip = model.Descrip;
objSvc.ACodeSave2(AcntEnt);
}
else
{
ModelState.AddModelError("CustomError", "Account Code Already Exist");
}
}
else
{
ModelState.AddModelError("", "");
}
return View(model);
}
次のコードを使用して、単一のビューで複数のボタンを使用します。[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] public class MultiButtonAttribute : ActionNameSelectorAttribute { public string MatchFormKey { get; 設定; } パブリック文字列 MatchFormValue { get; 設定; }
public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo)
{
return controllerContext.HttpContext.Request[MatchFormKey] != null &&
controllerContext.HttpContext.Request[MatchFormKey] == MatchFormValue;
}
}
今の問題は、保存機能がJavaScriptからヒットせず、メッセージが正常に保存されなかったことです。誰でも私を助けてくれませんか