代码之家  ›  专栏  ›  技术社区  ›  Fabio Milheiro

在ASP.NET MVC的部分视图中执行javascript

  •  5
  • Fabio Milheiro  · 技术社区  · 15 年前

    我在head标签中使用这个javascript代码,以便用浏览按钮填充div,以便用户可以上传图像(swfupload)。

    <head>
    ...
    <script type="text/javascript">
        var swfu = function() {
            return new SWFUpload({
                // Backend Settings
                // settings go here...
                // Too long to display here
                // Debug Settings
                debug: false
            });
        }
        window.onload = swfu;
    </script>
    </head>
    

    <div id="swfu_container" style="margin: 0px 10px;">
        <div>
        <span id="spanButtonPlaceholder"></span>
    </div>
    <div id="divFileProgressContainer" style="height: 75px;"></div>
    <div id="thumbnails"></div>
    </div>
    

    这很好,但问题是当我试图将此代码放入局部视图时。到目前为止,我还不能让这个工作。

    有没有更有经验的人来救援?

    谢谢你

    3 回复  |  直到 15 年前
        1
  •  3
  •   Gregoire    15 年前

    您可以这样设置您的函数:

    <%= Ajax.ActionLink("YourAction",new AjaxOptions{ OnSuccess="swfu", UpdateTargetId = "spanButtonPlaceholder" }) %> 
    

    因此,如果更新成功,将调用swfu函数

        2
  •  2
  •   Dan Atkinson    15 年前

    window.onload的作用是在页面完成后执行给定的函数…加载。这就是说,你应该考虑把负载移动到身体的底部。我不是世界上最喜欢把剧本放在脑子里的人。:)

        3
  •  1
  •   Justin S.    15 年前

    部分视图是用Microsoft Ajax呈现的,它不评估JavaScript代码。我建议在这种情况下不要使用部分视图,或者看看其他视图引擎,比如spark……,或者把所有需要的javascript放到父视图中,这会让代码有点草率。