asp.net System.NullReferenceException:
我有一份关于文章出版的申请。我正在尝试制作表格以插入一篇文章。我想做一个文件上传部分。我正在使用datalist,想上传一篇文章。问题在于代码隐藏,它向我显示了以下错误: System.NullReferenceException:对象引用未设置为实例 指一个物体asp.net System.NullReferenceException:,asp.net,file-upload,Asp.net,File Upload,我有一份关于文章出版的申请。我正在尝试制作表格以插入一篇文章。我想做一个文件上传部分。我正在使用datalist,想上传一篇文章。问题在于代码隐藏,它向我显示了以下错误: System.NullReferenceException:对象引用未设置为实例 指一个物体 您不能直接从datalist2访问任何控件,必须遍历每个datalist项 foreach (DataListItem item in datalist2.Items) { FileUpload FileUploadArtik
您不能直接从datalist2访问任何控件,必须遍历每个datalist项
foreach (DataListItem item in datalist2.Items)
{
FileUpload FileUploadArtikull = (FileUpload)item.FindControl("FileUploadArtikull");
if (FileUploadArtikull.HasFile)
{
int filesize = FileUploadArtikull.PostedFile.ContentLength;
if (filesize > 4194304)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "alert('Max 4MB');", true);
}
else
{
string filename = "artikuj/" + Path.GetFileName(FileUploadArtikull.PostedFile.FileName);
//add parameters
command.Parameters.AddWithValue("@filename", filename);
conn.Open();
command.ExecuteNonQuery();
conn.Close();
Bind();
FileUploadArtikull.SaveAs(Server.MapPath("~/artikuj\\" + FileUploadArtikull.FileName));
Response.Redirect("dashboard.aspx");
}
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "alert('ERROR');", true);
}
}
我猜你已经在数据列表项中控制了文件上传,对吗?如何控制?我不明白你能给我看完整的Asp:dataList标记代码吗?刚刚编辑了我的代码。请看一看。我不熟悉这种语言fileupload FileUploadArtikull=FileUploaddatalist2.FindControlFileUploadArtikull;这条线怎么样?对吗?不对。请看我回答的第二行。使用item而不是datalist2即使我上传了一个文件,它也会转到第三个else。为什么?请不要忽略我的评论:我真的需要一些帮助,可能是你的流程不正确。调试每一行,使用上面提到的答案可以让您访问fileupload控件。
foreach (DataListItem item in datalist2.Items)
{
FileUpload FileUploadArtikull = (FileUpload)item.FindControl("FileUploadArtikull");
if (FileUploadArtikull.HasFile)
{
int filesize = FileUploadArtikull.PostedFile.ContentLength;
if (filesize > 4194304)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "alert('Max 4MB');", true);
}
else
{
string filename = "artikuj/" + Path.GetFileName(FileUploadArtikull.PostedFile.FileName);
//add parameters
command.Parameters.AddWithValue("@filename", filename);
conn.Open();
command.ExecuteNonQuery();
conn.Close();
Bind();
FileUploadArtikull.SaveAs(Server.MapPath("~/artikuj\\" + FileUploadArtikull.FileName));
Response.Redirect("dashboard.aspx");
}
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "alert('ERROR');", true);
}
}