我在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>
这很好用,但问题是当我尝试将此代码放在局部视图中时。到目前为止,我无法让它发挥作用。
有没有人更有经验来救援?
谢谢
答案 0 :(得分:3)
你可以把你的功能放在这个:
<%= Ajax.ActionLink("YourAction",new AjaxOptions{ OnSuccess="swfu", UpdateTargetId = "spanButtonPlaceholder" }) %>
因此,如果您的更新成功,则会调用您的swfu函数
答案 1 :(得分:2)
window.onload的意思是在页面完成后执行给定的函数... loading。也就是说,你应该考虑将onload移动到身体的底部。而且我不是世界上最擅长保持脚本的粉丝。 :)
答案 2 :(得分:1)
部分视图使用Microsoft Ajax呈现,后者不评估JavaScript代码。我建议在这种情况下不要使用局部视图,或者查看其他视图引擎,如Spark ....或者将所有必需的javascript放在父视图中,这样会使你的代码有点草率