C# MVC中的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

我使用Ajax将一些数据传递给控制器并保存到数据库,这是有效的,每次发布都会刷新页面,我需要防止这种情况

阿贾克斯:

控制器:

[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>