gpt4 book ai didi

asp.net-mvc - Ajax.ActionLink,从 Controller 获取数据或错误消息?

转载 作者:行者123 更新时间:2023-12-02 05:28:48 25 4
gpt4 key购买 nike

这里是我要更新的地方:

<div style="text-align: center;" id="vote_count">@Html.DisplayFor(q => q.VoteCount)</div>

这是我的操作链接:

@Ajax.ActionLink("Upvote", "Upvote", "Author", new { QuestionID = Model.QuestionID, @class = "upvote" },
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "vote_count",
OnBegin = "onBegin",
OnComplete = "onComplete",
OnSuccess = "onSuccess",
OnFailure = "onFailure"
})

这是我的 Controller 之一:

public int Upvote(Guid QuestionID)
{
if ()
{
//I want to send error message
}
else
{
//I want to send an integer
}
}

我的问题是:我想将错误消息或整数发送到我的 View 页面以显示它。我该怎么做?根据您推荐的建议,我可以更改所有代码。

谢谢。

最佳答案

public ActionResult Upvote(Guid QuestionID)
{
if (...)
{
return Content("some error message");
}
else
{
return Content("5 votes");
}
}

无论您在内容结果中返回什么文本,都将被插入到 div 中。

另一种可能是使用 JSON:

public ActionResult Upvote(Guid QuestionID)
{
if (...)
{
return Json(new { error = "some error message" }, JsonRequestBehavior.AllowGet);
}
else
{
return Json(new { votes = 5 }, JsonRequestBehavior.AllowGet);
}
}

然后:

@Ajax.ActionLink("Upvote", "Upvote", "Author", new { QuestionID = Model.QuestionID, @class = "upvote" },
new AjaxOptions
{
OnSuccess = "onSuccess"
})

最后在 onSuccess 回调中:

function onSuccess(result) {
if (result.error) {
alert(result.error);
} else {
$('#vote_count').html(result.votes);
}
}

关于asp.net-mvc - Ajax.ActionLink,从 Controller 获取数据或错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10272733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com