我有一个动作来总结实体的信息。该操作的视图包含一个用于处理摘要UI的脚本。我还有另一个动作多次加载此视图(以汇总多个实体实例)。似乎每次在页面上加载操作视图时都会触发jQuery document.ready函数。这是正确的行为吗?
例如:
我有一个SummaryController.Summarize(实体项)动作,其中包含执行所有奇特UI内容的脚本。 我还有一个JobController.Index()动作,它将5个实体实例传递给它的视图。视图调用RenderAction(“Summarize”,“Summary”,entity)来显示每个实体。但是,我希望document.ready函数只在所有Summarize操作加载后才会触发(链接事件),但每次都会触发,所以我的事件多次订阅。希望这是有道理的。
答案 0 :(得分:1)
RenderAction方法输出动作返回的原始HTML 浏览器不知道HTML来自不同的操作。
因此,对$(document).ready
的每次调用都将单独执行。
答案 1 :(得分:0)
HTML在发送给客户端之前已经汇总。因此,“最终”页面会被其中的每个控件(通过RenderAction呈现)发送。
因此,页面中呈现的每个用户控件都将拥有自己的js代码片段。
document.ready注册文档准备好时要调用的处理程序。每次调用该方法时,都会附加一个新的处理程序。这就是它不止一次被解雇的原因。
希望这有帮助