我正在使用AjaxFileUpload control在 ASP.net Web 表单上。关于OnClientUploadComplete
事件,我正在使用
document.getEleemntById("<%=TestLabel.ClientId%>").innerText="someText"
这在 Google Chrome 和 Internet Explorer 中运行良好(上传完成后标签更新正常)。但是,在 Firefox 中,调试器在 document.getElementID 处显示“未找到元素”错误。
<script type="text/javascript">
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload"
OnUploadComplete="UploadComplete"
runat="server" OnClientUploadComplete="UploadCompleteClient" OnClientUploadStart="UploadStartClient" MaximumNumberOfFiles="1" />
<script type="text/javascript">
function UploadStartClient() {
}
function UploadCompleteClient(sender, args) {
//alert("upload complete");
document.getElementById("TestLabel").innerText = "test text";
}
</script>
上面是我的代码片段。基于堆栈溢出的一些答案,
- 我尝试将 java 脚本放在页面末尾
- 并用 $(document).ready(function(){} 包围脚本。
但是这些方法不起作用,因为上传完成后标签没有更新。我隐约明白这是因为 Firefox 中的页面元素处理方式与 Chrome 或 IE 中的处理方式不同。请建议我哪里出了问题以及如何更新标签
编辑 这是我的 aspx 页面
<asp:Content runat="server" ContentPlaceHolderID = "Mainform">
<form id="Form1" runat="server" style="border-style: hidden; border-color: inherit; border-width: medium; width: 717px; height: 606px; ">
<ajaxToolkit:ToolkitScriptManager ID="ScriptManager1" runat="server"></ajaxToolkit:ToolkitScriptManager>
<p>
Upload:
</p>
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload" OnUploadComplete="ProcessUpload" runat="server" OnClientUploadComplete="UploadCompleteClient" OnClientUploadStart="UploadStartClient" MaximumNumberOfFiles="1" />
<p>
</p>
<p>
<label id="TestLabel"></label> 
</form>
<script type="text/javascript">
function UploadStartClient() {
}
function UploadCompleteClient(sender, args) {
//alert("upload complete");
document.getElementById("<%=TestLabel.ClientID%>").text = "test Message";
}
</script>
</asp:Content>
最佳答案
ASPX:
<asp:Label ID="TestLabel" runat="server"></asp:Label>
JavaScript:
function UploadCompleteClient(sender, args)
{
$('#<%= TestLabel.ClientID %>').html('someText');
}
关于c# - 无法在 Firefox 浏览器上使用 AjaxFileUpload 控件的 asp.net WebForm 中更新标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24441179/