我想在 mvc3 中使用不同的按钮以及 mvc3 中的 javascript 处理单个视图上的 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)] 公共类 MultiButtonAttribute : ActionNameSelectorAttribute { public string MatchFormKey { get; 放; } 公共字符串 MatchFormValue { 获取;放; }
public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo)
{
return controllerContext.HttpContext.Request[MatchFormKey] != null &&
controllerContext.HttpContext.Request[MatchFormKey] == MatchFormValue;
}
}
现在的问题是我的保存功能没有从 javascript 中命中,并且没有成功保存的消息显示给我。谁能帮助我