Мне действительно нужна помощь с моим кодом. По сути, я вызываю действие из вида через ajax, а действие возвращает строку - эта часть работает хорошо. Проблема в том, что действие возвращает результат в новом представлении. Я не хочу, чтобы это случилось. Я хочу, чтобы этот строковый результат вернулся в исходное представление, из которого я вызвал действие. Мой код для скрипта выглядит так:
@using (Html.BeginForm(FormMethod.Post))
{
<div class="LDR">
<a class="Like" onmouseover="Like(@comment.Id)" onmouseout="ResetLike(@comment.Id)" onclick="LikeClick(@comment.Id)">
<img src="~/Content/Style/img/Like.png" id="Like_@comment.Id" />
@Html.Action("LikeComment", "Routes", new { id = comment.Id })
</a>
<a href="@Url.Action("AddDislikeComment", "Routes", new {id = comment.Id})" class="Dislike" onmouseover="Dislike(@comment.Id)" onmouseout="ResetDislike(@comment.Id)">
<img src="~/Content/Style/img/Dislike.png" id="Dislike_@comment.Id" />
@Html.Action("DislikeComment", "Routes", new { id = comment.Id })
</a>
<a href="@Url.Action("AddReportComment", "Routes", new {id = comment.Id})" class="Report" onmouseover="Report(@comment.Id)" onmouseout="ResetReport(@comment.Id)">
<img src="~/Content/Style/img/report.png" id="Report_@comment.Id" />
@Html.Action("ReportComment", "Routes", new { id = comment.Id })
</a>
</div>
}
....
function LikeClick(id) {
$.ajax({
async: false,
cache: false,
type: "GET",
url: "@(Url.Action("AddLC", "Routes"))",
dataType: "Json",
data: { "id": id },
success: function (message) {
alert(message);
}
});
}
и действие выглядит так:
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult AddLC(int id)
{
if (check == 0)
{
// ...
string message = "hi";
return Json(message, JsonRequestBehavior.AllowGet);
}
else
{
string message = "no";
return Json(message, JsonRequestBehavior.AllowGet);
}
}
Я уже пытался вернуть содержимое JavaScript, но результат тот же, что и этот. Как видите, я просто хочу показать базовое предупреждающее сообщение с пользовательским текстом, но мне не удалось в течение двух недель пытаться найти решение в Интернете.