C# 如果成功,单击HTML按钮应隐藏表单
我有以下cshtml:C# 如果成功,单击HTML按钮应隐藏表单,c#,jquery,json,button,C#,Jquery,Json,Button,我有以下cshtml: using (Html.BeginForm(MVC.ProbleemRapport.ActionNames.Form, MVC.ProbleemRapport.Name, FormMethod.Post, new { id = "probleemForm" })) { <button type="submit" id="verzendenBtn" class="btn actie" title="@StartSchermR
using (Html.BeginForm(MVC.ProbleemRapport.ActionNames.Form, MVC.ProbleemRapport.Name, FormMethod.Post, new { id = "probleemForm" }))
{
<button type="submit" id="verzendenBtn" class="btn actie" title="@StartSchermResource.BtnSend">@StartSchermResource.BtnSend</button>
}
现在,当我单击我的按钮时,验证工作正常。
但是当所有的事情都完成并且post发生在控制器上时,我会得到一个json结果。这是正常的,因为我的操作返回一个包含“true”或“false”的json结果
当结果为“true”时,我需要隐藏表单。
当结果为“false”时,我需要隐藏表单并显示某个错误消息
但是现在唯一发生的事情是,我得到了打开json的请求
我忘了什么?您应该能够执行
$(“#problemform”).hide()如果您想再次显示,只需将hide()
更改为show()
为消息创建类似于
然后在$('#myMessage').val(“出错了”)
中,这当然会使表单保持打开状态。如果您想关闭表单,可以使用标准的@URl.Action
和重定向,或者只需执行一个简单的Javascript警报('error message')
,我如何防止json问题?您在什么时候收到打开json的请求?是真的还是假的。是真的还是假的。这是我的控制器操作的结果。你可以发布控制器操作吗。我希望看到它声明为返回一个JsonResult,类似于returnnewjson(false)代码>
$('#verzendenBtn').click(function () {
$('#probleemForm').find('.error').remove();
// do some validation
if (value === false) {
return value;
}
});