gpt4 book ai didi

c# - 从 Controller 返回 Json 数据到 View ASP.NET MVC

转载 作者:行者123 更新时间:2023-11-28 00:58:13 25 4
gpt4 key购买 nike

正如标题所示,我正在尝试在验证后将 Json 消息从 Controller 返回到 View 。

我已经设置了一个断点,并且我知道代码在 Controller 端工作,并且我的 JavaScript 现在成功调用了 ActionResult。如何在 View 中显示该消息?

有两个按钮,戳入和戳出。如果用户 checkin 两次,它应该收到一条消息,与 checkout 相同。我有两个相同的 ActionResult,除了一些消息和字符串更改之外。

Controller :

[HttpPost]
public ActionResult CreateStamp(Stamping stampingmodel)
{
var validateMsg = "";
stampingmodel.Timestamp = DateTime.Now;
stampingmodel.StampingType = "in";

if (stampingmodel.User == null || ModelState.IsValid)
{
var idValidated = db.Users.Find(model.UserId);

if (idValidated != null)
{
var stamp =
db.Stampings.Where(s => s.UserId == stampingmodel.UserId)
.OrderByDescending(s => s.Timestamp)
.FirstOrDefault();

if (stamp.StampingType == stampingmodel.StampingType)
{
if (stampingmodel.StampingType == "in")
{
validateMsg = "Stamped Twice In A Row!";
}
}

else
{
if (stampingmodel.StampingType == "in")
{
validateMsg = "Stamped In, Welcome.";
}
}
}

db.Stampings.Add(stampingmodel);
db.SaveChanges();
}

return Json(new {Message = validateMsg });

JavaScript:

$(document).ready(function () {

$("#stampInBtn").click(function () {

var userId = $("#userId").val();

$.ajax({
url: "ComeAndGo/CreateStamp",
type: "POST",
dataType: "json",
data: {
userId: userId,
}
});

});

查看:

    <input type="text" id="idUser" class="form-control" />
<br />
<input type="submit" value="IN" id="stampInBtn" />

当然,我在 View 中有更多代码; div、头部、正文、标题和脚本。但这可能有点无关紧要。

我应该怎样做才能成功显示这些消息?

问候。

最佳答案

向ajax调用添加成功函数

$.ajax({
url: "ComeAndGo/CreateStamp",
type: "POST",
dataType: "json",
data: { userId: userId },
success: function(data) {
// data contains the value returned by the server
console.log(data);
}
});

所以如果 Controller 返回

return Json("This is a message");

data 的值将是“这是一条消息”。注意返回值可以是复杂类型或分部 View

关于c# - 从 Controller 返回 Json 数据到 View ASP.NET MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25972656/

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