C# MVC中的Ajax刷新页面
我使用Ajax将一些数据传递给控制器并保存到数据库,这是有效的,每次发布都会刷新页面,我需要防止这种情况 阿贾克斯: 控制器:C# MVC中的Ajax刷新页面,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我使用Ajax将一些数据传递给控制器并保存到数据库,这是有效的,每次发布都会刷新页面,我需要防止这种情况 阿贾克斯: 控制器: [HttpPost] public JsonResult SaveComment(int id, string commenta, string autoriza) { // Some logic here return Json(""); } 使用correct.preventDefault()尝试;但是没有起作用 有办法吗 编辑: 这是我的HTML
[HttpPost]
public JsonResult SaveComment(int id, string commenta, string autoriza)
{
// Some logic here
return Json("");
}
使用correct.preventDefault()尝试;但是没有起作用
有办法吗
编辑:
这是我的HTML:
<form role="form">
<div class="form-group">
@Html.Label("Commentario:")
<textarea id="Comment" style="resize:none;" class="form-control"></textarea>
</div>
<div class="form-group">
<input type="submit" value="Guardar" onclick="AddComment(Comment.value,'Comentario')" />
</div>
</form>
@Label(“Commentario:”)
编辑2:
通过更改type=“submit”fortype=“button”修复由于我认为您应该将return设置为false;在ajax请求之后
function AddComment(commet, auto) {
$.ajax({
type: "POST",
url: '/bff/SaveComment',
data: { id: idParte, commenta: commet, autoriza: auto },
dataType: 'json',
success: function (correct) {
$("#win1").show().kendoWindow({
width: "300px",
height: "100px",
modal: true,
title: "Added"
});
},
error: function(inc) {
}
});
return false;
}
基于您需要返回false,如您所说:)
@Label(“Commentario:”)
如何从用户操作调用此方法?它是否绑定在jquery中?href中的Javascript?这是页面行为中断的地方。您能解释一下代码流吗?何时调用AddComment函数?在ajax调用中的url之后也添加这个。默认情况下这是真的,无论如何值得一试。async:true,在读取文本区域的按钮中调用:@JoelEthertonAdd preventDefault();单击处理程序,而不是ajax函数。它应该类似于btn.on(“单击”,函数(e){e.preventDefault();addComment(comment,auto);});删除type=“submit”并生成type=“button”。Submit将尝试将表单发布到控制器,从而刷新页面。您是否也可以发布您的html?根据OP的评论,这是正确的答案,但仍然缺少一个元素。onclick还需要以这种方式返回false:onclick=“return AddComment(Comment.value,'Comentario')”
i只需编辑答案,即可使用“编辑:”)on按钮完成编辑
function AddComment(commet, auto) {
$.ajax({
type: "POST",
url: '/bff/SaveComment',
data: { id: idParte, commenta: commet, autoriza: auto },
dataType: 'json',
success: function (correct) {
$("#win1").show().kendoWindow({
width: "300px",
height: "100px",
modal: true,
title: "Added"
});
},
error: function(inc) {
}
});
return false;
}
<form role="form">
<div class="form-group">
@Html.Label("Commentario:")
<textarea id="Comment" style="resize:none;" class="form-control"></textarea>
</div>
<div class="form-group">
<input type="submit" value="Guardar" onclick="return AddComment(Comment.value,'Comentario')" />
</div>
</form>