NeatUpload上传组件的问题

wo554006164 2008-12-30 03:36:50
有谁用过NeatUpload组件啊?我昨天下载下来在测试项目里,能成功使用,但是今天我用同样的方法在我新项目里就有问题了,
问题:没加ajax能成功上传,如果加上ajax点上传就会出现"未将对象引用设置到实例",就是那个InputFile控件为null,
不知道怎么回事;
由于代码过多,只能贴出重要代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PersApply.aspx.cs" Inherits="MemberCenter_PersApply" %>

<%@ Register Assembly="Brettle.Web.NeatUpload" Namespace="Brettle.Web.NeatUpload"
TagPrefix="Upload" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
//<![#CDATA[
function showBar()
{
document.getElementById("bar").style.display='block';
}
// ]]>
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<Upload:InputFile ID="InputFileIndex" runat="server" Visible="false" Width="330px" />
<div id="bar" style="padding-top:-200px; display:none; height: 300px;">
<Upload:ProgressBar ID="ProgressBarIndex" runat='server' Inline="true" Width="500px" Height="200px" Triggers="Upload">
</Upload:ProgressBar>
<asp:Button ID="btnIndexMoney" runat="server" Text="上传" OnClientClick="showBar()" OnClick="btnIndexMoney_Click"/>
</div>
</ContentTemplate>
</asp:UpdatePanel>
-------------------------
PersApply.aspx.cs:

public partial class MemberCenter_PersApply : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnIndexMoney_Click(object sender, EventArgs e)
{
if (InputFileIndex.ContentLength == 0)
{
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "Alert", "alert('请选择文件');", true);
return;
}
if (InputFileIndex.HasFile)
{
string FileName = this.InputFileIndex.FileName;//获取上传文件的文件名,包括后缀
string ExtenName = System.IO.Path.GetExtension(FileName);//获取扩展名
ExtenName = ExtenName.ToLower();
if (ExtenName == ".flv" || ExtenName == ".exe" || ExtenName == ".mp4" || ExtenName == ".3gp" || ExtenName == ".rm" || ExtenName == ".rmvb" || ExtenName == ".avi" || ExtenName == ".wmv")
{
string url = "UploadFiles/Video" + DateTime.Now.ToString("yyyyMMddhhmmss") + ExtenName; //文件保存的路径
float FileSize = (float)System.Math.Round((float)InputFileIndex.ContentLength / 1024000, 1); //获取文件大小并保留小数点后一位,单位是M

SaveFileName = System.IO.Path.Combine(System.Web.HttpContext.Current.Request.MapPath("UploadFiles/Video"), DateTime.Now.ToString("yyyyMMddhhmm") + ExtenName);//合并两个路径为上传到服务器上的全路径
InputFileIndex.MoveTo(SaveFileName, Brettle.Web.NeatUpload.MoveToOptions.Overwrite);
}
else
{
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "Alert", "alert('文件格式不正确');", true);
return;
}
}
}
}
----------
web.config

<httpModules>
<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload"/>
</httpModules>



为什么加了ajax就出错?
...全文
442 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
毛贼甲 2009-10-10
  • 打赏
  • 举报
回复
这是因为NeatUpload组件不支持Ajax的callback,也就是不支持作为UpdatePanel的子控件进行异步提交.如果一定要在UpdatePanel里面使用NeatUpload组件,那么就要把触发上传事件的控件(如按钮)在UpdatePanel的Triggers属性里为这个控件注册一个PostBackTrigger
jiafulc 2009-08-31
  • 打赏
  • 举报
回复
我的也是,不知道是什么原因~~
inputFile.HasFile=false;一直是这样?有办法解决吗
ytx98 2009-06-03
  • 打赏
  • 举报
回复
关注 我今天用了这个做上传 也是加了ajax就不能上传 inputFile.HasFile=false;
wo554006164 2008-12-30
  • 打赏
  • 举报
回复
05的,加了ajax的配置啊,其他ajax都能用
a12321321321312321 2008-12-30
  • 打赏
  • 举报
回复
楼主用是的05还是08?webconfig中配置文件加了AJAX工程代码没?没加的话也会报错。
wo554006164 2008-12-30
  • 打赏
  • 举报
回复
怎么没人啊?自已顶了

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧