我试图使用以下代码
弹出一个Bootstrap模式ScriptManager.RegisterStartupScript(this.Parent, this.GetType(), "Pop", "openMsgModal5();", true);
但它可以工作一段时间,有时它会闪烁,因为Chrome无需弹出即可获得焦点。 真的浪费时间和令人沮丧。这个脚本是否存在Javascript问题或AJAX问题,或者JQuery和某些Bootstrap代码之间是否存在不兼容性(我知道他们使用Javascript但只是问),因为我无法运行JQuery弹出窗口。或者是ASP.net 4.0?
我已将ASP:Updatepanel设置为UpdateMode =“Always”。
我按如下方式加载javascripts:
<script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
我的页面上还有一个剧本管理员
<asp:ScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ScriptManager>
任何想法都会受到赞赏,如果有人看到类似的,没有多余的头发留下来阅读并尝试了大约15个论坛帖子到目前为止,所有人都说同样但没有为我工作。
答案 0 :(得分:0)
不知道asp.net但你的问题看起来像加载订单问题。你已经声明了“show modal”按钮,bootstrap使用jquery的$(document).ready()功能(src code here, note the click event on the bottom)添加事件监听器(我之后称之为init),所以如果你硬编码你的模态按钮和在html中的模态对话框,它们肯定会工作,而如果你使用ScriptManager通过ajax调用添加它们(如果我没有弄错它的作用),是否先确定模态初始化或ajax调用是否已确定< / strong>即可。 Ajax调用首先完成,一切都很好;完成另一个后,:((新到的html片段不会让事件监听器作为模态正常工作)
因此解决方案是,确保所有模态htmls在启动之前到达模态,似乎const uploadFile = (file) => new Promise((resolve, reject) => {
const writeStream = client.upload({
container: "mycontainer,
remote: file
});
writeStream.on("finish", resolve);
fs.createReadStream("./local_path/" + file).pipe(writeStream);
}
const uploadFiles = async (files) => {
for(let file of files) {
await uploadFile(file);
}
}
await uploadFiles(filesToUpload);
console.log('All uploads completed.');
就是这样做。或者,在我们手动输入之前:如果ScriptManager有一个回调或者在加载html片段后可以执行的操作,请将其添加到回调:LoadScriptsBeforeUI
。
答案 1 :(得分:0)
当我想在部分更新后显示警告框时,我将UpdatePanel设置为注册脚本块的控件。为避免与其他脚本代码发生冲突,我还使用proxy: '127.0.0.98:80'
异步调用代码。
在您的情况下,它可能如下所示:
setTimeout