【发布时间】:2012-01-02 01:09:18
【问题描述】:
当我向我的 Web 应用程序添加新控件时,javascript 不会触发。我尝试了很多解决方案,但没有一个有效。具体来说,AJAX Control Toolkit 中的手风琴/手风琴窗格不会向上/向下滑动。 Obout 的 FileUploadProgress 控件也使用不会触发的 javascript 函数。如果我打开一个新的 Web 应用程序项目并尝试所有这些,它工作得很好。我的项目很大,所以我不能从头开始。有人可以告诉我我的项目有什么问题吗?我没有错误。 javascript根本不会触发。请帮忙。我正在使用 asp.net c#。
编辑:
这里是文件上传进度控制的代码。我确实有警报语句,但它们不会触发。
<script type="text/JavaScript">
function Clear() {
alert("here1");
document.getElementById("<%= uploadedFiles.ClientID %>").innerHTML = "";
}
function ClearedFiles(fileNames) {
alert("here2");
alert("Cleared files with bad extensions:\n\n" + fileNames);
}
function Rejected(fileName, size, maxSize) {
alert("here3");
alert("File " + fileName + " is rejected \nIts size (" + size + " bytes) exceeds " + maxSize + " bytes");
}
</script>
<input type="file" name="myFile1" runat="server"/><br/>
<input type="file" name="myFile2" runat="server"/><br/>
<input type="file" name="myFile3" runat="server"/><br/>
<input type="submit" value="submit" name="mySubmit" /><br/>
<br/>
<fup:FileUploadProgress ID="FileUploadProgress1"
OnClientProgressStopped = "function(){alert('Files are uploaded to server');}"
OnClientProgressStarted = "Clear"
ShowUploadedFiles = "true"
OnClientFileRejected = "Rejected"
OnClientFileCleared = "ClearedFiles"
runat = "server"
>
<AllowedFileFormats>
<fup:Format Ext="gif" MaxByteSize="10240"/>
<fup:Format Ext="jpg" MaxByteSize="10240"/>
<fup:Format Ext="jpeg" MaxByteSize="10240"/>
<fup:Format Ext="png" MaxByteSize="10240"/>
</AllowedFileFormats>
</fup:FileUploadProgress>
<asp:Label runat="server" id="uploadedFiles" Text="" />
这是它的代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
HttpFileCollection files = Page.Request.Files;
uploadedFiles.Text = "";
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile file = files[i];
if (file.FileName.Length > 0)
{
if (uploadedFiles.Text.Length == 0)
uploadedFiles.Text += "<b>Successfully uploaded files: </b><table border=0 cellspacing=0>";
uploadedFiles.Text += "<tr><td class='option2'>" + file.FileName.Substring(file.FileName.LastIndexOf("\\") + 1) + "</td><td style='font:11px Verdana;'> " + file.ContentLength.ToString() + " bytes</td></tr>";
}
}
if (uploadedFiles.Text.Length == 0)
uploadedFiles.Text = "no files";
else
uploadedFiles.Text += "</table>";
}
}
提前致谢!!
【问题讨论】:
-
放置一些警报消息,查看并在您的问题中放置一些代码。所以我们可以看到你是如何调用 javascript 函数的,并会告诉你哪里错了
-
您的 javascript 和您需要的 javascript 库是否加载到客户端上?
-
“添加新控件”是什么意思?您添加到项目中的 UserControls?继承自您刚刚添加的 Control 的类?
-
我在我的问题中添加了示例代码。 @user277498:我不确定是否加载了 javascript 库。由于警报语句不会触发,我假设它们不会加载。
-
@sq33G:我所说的新控件是指来自 ajax 控件工具包的控件或来自 Obout 的 FileUploadProgress 控件。基本上是默认情况下不存在的 asp.net 控件。
标签: c# javascript asp.net ajax controls