似乎通過ColorBox(不使用iframe)加載Razor局部視圖時,JavaScript庫不能正確初始化或它是部分的artifacte。如果我將這些庫包含在父頁面中,JavaScript函數將在部分jsut內運行。當庫處於不完整狀態時,我看不到任何來自瀏覽器的錯誤,但它不起作用。如果我移動部分外的庫(在這種情況下爲fileuploader.js
),並保持部分中的功能正常工作。部分通過ColorBox調用時加載JavaScript?
例子:
<script src="@Url.ContentArea("~/Scripts/plugins/ajaxUpload/fileuploader.js")" type="text/javascript"></script>
<div id="file-uploader">
<noscript>
<p>
Please enable JavaScript to use file uploader.</p>
</noscript>
</div>
<script>
$(function() {
var fileCount = 0;
var uploader = new qq.FileUploader({
element: document.getElementById('file-uploader'),
action: '/Admin/Avatar/AvatarUpload',
debug: true,
params: {
'userId': '@ViewBag.UserId'
},
onSubmit: function (id, fileName) {
fileCount++;
},
onComplete: function (id, fileName, responseJson) {
if (responseJson.success) {
if (createAvatar(responseJson.file, responseJson.imageId)) {
fileCount--;
} else {
fileCount--;
}
} else {
$("span.qq-upload-file:contains(" + fileName + ")").text(responseJson.errorMessage);
fileCount--;
}
if (fileCount == 0) {
.....
}
},
onCancel: function (id, fileName) {
fileCount--;
if (fileCount == 0) {
....
}
}
});
});
<script>
這是一個404錯誤?你真的跑進一個區域嗎?我說這是因爲'@ Url.ContentArea',如果你用'@ Url.Content'嘗試,發生了什麼? – 2013-03-07 13:34:22