我设计了一个button1激发的生成一个HtmlInputFile t=new HtmlInputFile()的控件,同时定义了t.ID="file";
然后我的另外iayige button2激发的是上传附件并且发送的事件,其中有一条语句是:HttpPostedFile hpfFile=file.PostedFile;就是调用了button1激发生成的控件HtmlInputFile的ID但是在编译好后输入所有邮件信息包括上传附件后点击button2发送时出现了错误。这是怎么回事啊?未将对象引用设置到对象的实例。
行 90: mymsg.Subject=txtsubject.Text;
行 91: mymsg.Body=txtbody.Text;
行 92: HttpPostedFile hpfFile=file.PostedFile;
行 93: if(hpfFile.FileName!="")
行 94: {源文件: c:\inetpub\wwwroot\beta1\webform1.aspx.cs 行: 92
然后我的另外iayige button2激发的是上传附件并且发送的事件,其中有一条语句是:HttpPostedFile hpfFile=file.PostedFile;就是调用了button1激发生成的控件HtmlInputFile的ID但是在编译好后输入所有邮件信息包括上传附件后点击button2发送时出现了错误。这是怎么回事啊?未将对象引用设置到对象的实例。
行 90: mymsg.Subject=txtsubject.Text;
行 91: mymsg.Body=txtbody.Text;
行 92: HttpPostedFile hpfFile=file.PostedFile;
行 93: if(hpfFile.FileName!="")
行 94: {源文件: c:\inetpub\wwwroot\beta1\webform1.aspx.cs 行: 92
解决方案 »
- 下面的这句话怎么理解啊
- 如何遍历26个字母 到想要的字母,得知字母D,就自动遍历出A、B、C、D,有示例代码
- ASP.net程序出现Microsoft JScript 运行时错误: “__doPostBack”未定义
- 关于全站搜索功能实现思路
- (ZT)为WebForms说几句话,以及一些ASP.NET开发上的经验
- 遇到这种希奇古怪的事,我该如何处理? 页面传值的事
- 關於開發heml 編輯器的問題
- asp.net安装项目生成后发布软件需不需要Setup.Exe和Setup.Ini文件?
- 用户退出时删除上传到服务器文件的问题。
- 急问:调试出现错误--请指点
- 怎么才能保存对象?
- 仍然是一个关于javascript的问题
我测试了如果是在设计页面上直接拖HtmlInputFile的控件并定义一个ID的话,使用这个ID上传的附件能正常发送出去的
private void Add()
{
TableRow r = new TableRow();
TableCell c=new TableCell();
HtmlInputFile t=new HtmlInputFile();
t.ID="tbfile"+Table1.Rows.Count;
c.Controls.Add(t);
r.Cells.Add(c);
this.Table1.Rows.Add(r);
}然后添加一个按钮输出所有选择的上传的文件名
这么写for(int i=0;i<Table1.Rows.Count;i++)Response.Write(((HtmlInputFile)Table1.FindControl("tbfile"+i)).PostedFile.FileName+"<br>");
当然无法找到这个控件
t.ID="tbfile"+Table1.Rows.Count;
按照我说的进行遍历
for(int i=0;i<Table1.Rows.Count;i++)Response.Write(((HtmlInputFile)Table1.FindControl("tbfile"+i)).PostedFile.FileName+"<br>");
如果你要进行多文件上传的话,不需要提交给服务器进行动态的htmlinputfile生成,参考
http://dotnet.aspx.cc/ShowDetail.aspx?id=58EA3515-36F2-4FD9-AC89-EAF49F59816C
设置了t.ID="file"+Table1.Rows.Count;以后
要调用生成的多个控件时候它们的ID是什么呢?难道就是ID="file"+Table1.Rows.Count
{
HttpPostedFile file=((HtmlInputFile)Table1.FindControl("file"+i)).PostedFile;
}