jQuery在局部视图中不起作用

时间:2013-11-13 08:43:15

标签: jquery asp.net-mvc-3 partial-views

我在MVC3 Razor中遇到部分视图问题。当我通常渲染局部视图(使用Html.RenderAction)时,jQuery可以工作,但是当我加载视图时,在特定的div中,使用ajax.actionlink jQuery,该部分视图不起作用。 jQuery代码在我的布局页面中。

任何人都知道这是什么问题?

html在局部视图中,脚本在布局页面中。

当我使用@{Html.RenderAction("action", "Controler"); } jquery加载部分视图时,但是当我加载它时:

@Ajax.ActionLink("name", "action", "controler", new AjaxOptions
                  {

                      OnComplete = "",
                      InsertionMode = InsertionMode.Replace,
                      UpdateTargetId = "ModeliSadrzaj"
                  })

它起作用了

1 个答案:

答案 0 :(得分:2)

我需要更多关于究竟在哪里做的信息,但我怀疑以下是你问题的根源。

当您使用Html.RenderAction时,您的部分视图是发送到浏览器的初始包的一部分。然后你的javascript代码(在布局页面中)能够在document.ready事件上处理它。事情按照他们的意愿运作。

当您使用Ajax.ActionLink时,您的页面上只有一个标记,单击该标记时将加载您的部分视图。您是否已在布局页面中设置代码以仅在ActionLink完成后运行 ?如果您的布局页面代码在文档准备就绪时运行,则部分视图尚未存在(因为它仅在您单击链接后才加载)。

ActionLink操作不会自动加载您的内容,这正是我想说的。所以它与Html.RenderAction函数无法真正比​​较。

相关问题