【发布时间】:2018-11-30 18:52:09
【问题描述】:
这是我的目标:
我正在尝试在我的模式中显示事件的详细信息。 为此,我执行了一个 JavaScript 脚本,该脚本返回到我的“事件”控制器的“GetEventsDetails”方法,并带有事件的 ID。
当我使用 Chrome 进行调试时,我看到了 id 通过,但在我的控制器中,该值始终为 0。
我真的不明白为什么,我在网上查了很多,一切似乎都在我身边!
是不是因为我没有使用ajax调用?
提前谢谢你!
function GetEventsDetails(id) {
//$('#myModal').find('.modal-title').text("Details ");
$.get("@Url.Action("GetEventsDetails", "Events")/" + id,
function (data) {
$('.modal-body').html(data);
})
$('#myModal').show();
}
</script>
}
[Authorize]
[HttpGet]
public async Task<ActionResult> GetEventsDetails(int Zkp)
{
ViewBag.sessionv = HttpContext.Session.GetInt32("idMember");
FileMakerRestClient client = new FileMakerRestClient(serverName, fileName, userName, password);
var toFind = new Models.EventsLines { Zkp = Zkp };
var results = await client.FindAsync(toFind);
bool isEmpty = !results.Any();
if (isEmpty)
{
return View();
}
Models.EventsLines oEventViewModel = new Models.EventsLines();
oEventViewModel = results.ToList().First();
Console.WriteLine(oEventViewModel);
return PartialView(oEventViewModel);
}
【问题讨论】:
-
如果你有默认路由,你的参数名称应该是
id才能工作 -
尝试修改这个:GetEventsDetails(int id),我的朋友 :))
-
“是不是因为我没有使用ajax调用?”你使用的是ajax调用。
$.get()是一个 ajax 调用。如果您复制使用 get() 制作的 url 并将其粘贴到浏览器中,它可以工作吗?如果没有,这不是 javascript 的问题,而是您的后端的问题 -
我不使用 asp,所以也许我遗漏了一些东西,但是你为什么使用连接而不是使用 jQuery 的
$.get()中的数据参数? api.jquery.com/jquery.get -
谢谢大家!正如你所说,我只需要输入(int id)。我不知道是否是义务,但谢谢:D
标签: javascript jquery html ajax asp.net-mvc