部分视图刷新后未调用 JavaScript 函数

Posted

技术标签:

【中文标题】部分视图刷新后未调用 JavaScript 函数【英文标题】:JavaScript function not being called after Partial View refresh 【发布时间】:2018-05-30 01:35:54 【问题描述】:

我的表格上有一个带有编辑模式弹出窗口的部分视图,我调用了一个 javascript 函数来填充弹出窗口中的字段:

<a href="#" data-toggle="modal" data-target="#editItemModalDialog" onclick="populateEditForm(42);">Edit</a>

现在所有这些值都在页面加载时完美加载,但是当我保存项目然后使用 jquery 加载方法重新渲染部分视图时:

$('#tableContainer').load('@(Url.Action("SomeAction", "SomeController", null, Request.Url.Scheme))');

这样,局部视图会更新,但是当我现在单击编辑按钮时,onclick 按钮事件不会调用 populateEditFrom 函数,我在这里缺少什么?

【问题讨论】:

我记得,javascript 需要包含在调用局部视图的非局部视图中或包含在其中。 保存后....当您单击编辑按钮时...开发者控制台中显示的内容 ???????????? 如果我的代码帮助您将其标记为答案,那么您非常喜欢 【参考方案1】:

此代码可能会有所帮助: 如果您的情况是触发功能,Ita 将 100% 工作 加载视图后,“可能”一词只是因为我已将其放入文档中。rady 您可以放入任何事件并为您提供所需的内容。

$(function()
                    $.ajax(
                url: "@(Url.Action("SomeAction", "SomeController", null, Request.Url.Scheme))",
                 success: function(result)
                
                $("#tableContainer").html(result);
                **//<<FIRE YOUR FUNCTION HERE>>**
                
                );

您可以将文档更改为单击按钮或您需要的任何事件

【讨论】:

解释“为什么你的代码可以工作”将是有益的,并且可以避免你被否决

以上是关于部分视图刷新后未调用 JavaScript 函数的主要内容,如果未能解决你的问题,请参考以下文章

如果在全页刷新 (FPR) 后未呈现文件,我如何有条件地在 h:head 中呈现 .js 文件?

重新初始化主干视图后未触发事件

API调用后未更新Angular 2视图

在使线性布局容器无效后未调用子视图的 ondraw()

Ajax 使用 express 和 JQuery 刷新部分视图?

在 notifydatasetchanged 后未调用 getview