gpt4 book ai didi

asp.net-mvc - MicrosoftAjax 返回 PartialView 后重新绑定(bind) JQuery 事件处理程序

转载 作者:行者123 更新时间:2023-12-02 02:32:54 27 4
gpt4 key购买 nike

我正在使用 ASP.NET MVC 研究 AJAX 功能。我创建了一个页面,其中包含从数据库生成的类别菜单,当单击该菜单时,它会向 Controller 发出 AJAX 请求,然后 Controller 返回一个 PartialView。

<% foreach (var item in Model.Categories)
{ %>
<li>
<%= Ajax.ActionLink(item.CategoryName,
"Index", "Home",
new { id = item.CategoryID },
new AjaxOptions { UpdateTargetId = "gallery" })%>
</li>
<% } %>


[HttpPost]
public ActionResult Index(int id)
{

List<Image> images = imageRepository.getCategoryImages(id).ToList();

return PartialView("gallery", images);
}

画廊 div 包含许多图像,在第一次加载时,它包含存储在数据库中的每张图像。我使用了 lightbox 一个 JQuery 插件,所以当点击缩略图时它会放大,用户可以点击浏览图像。当返回部分 View 时,灯箱事件处理程序不再绑定(bind)。

$(function () {
$('#gallery a').lightBox();
});

是否有可能在 M$AJAX 请求完成后以某种方式触发 Javascript 函数来重新绑定(bind)处理程序?

这是我打算自学如何在 ASP.NET MVC 中使用 AJAX 做一些很酷的事情的一系列项目的一部分。我打算在完成后在我的网站上发布代码,以便其他人可以像我一样学习。我倾向于发现有很多 JQuery -> PHP -> MySQL 开源堆栈的例子。但很少使用 ASP.NET MVC。

谢谢,

乔恩

最佳答案

AjaxOptions 之一properties 是一个 OnSuccess 属性,它将在 AJAX 请求成功后调用一些 JavaScript 代码。将其值设置为 JavaScript 函数的名称,然后使用 jQuery 激活 LightBox 脚本。

new AjaxOptions { UpdateTargetId = "gallery", OnSuccess="ActivateLightBox" })

还有一些脚本:

<script ...>
function ActivateLightBox() {
$(function () {
$('#gallery a').lightBox();
});
}
</script>

关于asp.net-mvc - MicrosoftAjax 返回 PartialView 后重新绑定(bind) JQuery 事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3080589/

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