在控制器中:
[HttpPost]
public ActionResult UnAssign()
{
ViewBag.Message = courseManager.Updated();
return View();
}
在视图中:
<form method="post">
<input id="btnSubmit" type="submit" value="UnAssign Courses" />
</form>
@section scripts
{
<script>
$("#btnSubmit").click(function(event) {
event.preventDefault();
});
$("#btnSubmit").click(function(event) {
var confirmationmessage = "Are you sure you want to delete this?";
if (! confirm(confirmationmessage)) {
event.preventDefault();
} else {
}
});
</script>
}
通过此代码我想将我的一个数据库列值更新为0.在Update方法中,我已经创建了一个查询并与数据库建立了连接。但是当我按下提交时,它没有做任何事情。想知道如何调用特定的操作方法并执行此任务而不传递从视图传递的任何模型或值?
答案 0 :(得分:0)
您不需要两个.click
处理程序
$("#btnSubmit").click(function(event) {
event.preventDefault();
var confirmationmessage = "Are you sure you want to delete this?";
if (! confirm(confirmationmessage)) {
//You do not need these here. Get rid of it
//event.preventDefault();
} else {
//here submit your form
$('form').first().submit();
}
});
要稍微清理代码,您可以使用一个if
语句并删除否定字符。
if (confirm(confirmationmessage)) {
$('form').first().submit();
}
//jquery code does nothing after this. You already used event.preventDefault(); so the form will not be submitted
我还建议您查看如何使用Html.BeginForm
和Ajax.BeginForm
,因为您使用的是MVC,也可以使用MVC堆栈。