刚刚学了两个月,做了一个信息公告的添加页面,图片上传总是出问题,请各位高手求救。
源代码:
public class add_xnxi02 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox content;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.TextBox dtime;
protected System.Web.UI.HtmlControls.HtmlInputFile File1 ;
public SqlConnection myconn;
public SqlDataReader dr;
public string title1;
public string dtime1;
public string content1;
protected System.Web.UI.WebControls.TextBox title;
public string photopath1;
string nophoto;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面 } #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Button1_Click(object sender, System.EventArgs e)
{
title1=title.Text;
content1=content.Text;
dtime1=dtime.Text;
if(File1.PostedFile.ContentLength!=0)
{
photopath1=File1.PostedFile.FileName;
}
else
{
photopath1=nophoto;
}
ADD ADDDBO=new ADD();
myconn=ADDDBO.Open();
ADD SP_addxinxi=new ADD();
SP_addxinxi.addxinxi(title1,dtime1,content1,photopath1);
Page.Response.Redirect("html/ 添加成功.htm");
}
}
错误信息:
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 70: content1=content.Text;
行 71: dtime1=dtime.Text;
行 72: if(File1.PostedFile.ContentLength!=0)
行 73: {
行 74: photopath1=File1.PostedFile.FileName;
源文件: d:\项目管理\admin\add_xnxi02.aspx.cs 行: 72
源代码:
public class add_xnxi02 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox content;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.TextBox dtime;
protected System.Web.UI.HtmlControls.HtmlInputFile File1 ;
public SqlConnection myconn;
public SqlDataReader dr;
public string title1;
public string dtime1;
public string content1;
protected System.Web.UI.WebControls.TextBox title;
public string photopath1;
string nophoto;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面 } #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Button1_Click(object sender, System.EventArgs e)
{
title1=title.Text;
content1=content.Text;
dtime1=dtime.Text;
if(File1.PostedFile.ContentLength!=0)
{
photopath1=File1.PostedFile.FileName;
}
else
{
photopath1=nophoto;
}
ADD ADDDBO=new ADD();
myconn=ADDDBO.Open();
ADD SP_addxinxi=new ADD();
SP_addxinxi.addxinxi(title1,dtime1,content1,photopath1);
Page.Response.Redirect("html/ 添加成功.htm");
}
}
错误信息:
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 70: content1=content.Text;
行 71: dtime1=dtime.Text;
行 72: if(File1.PostedFile.ContentLength!=0)
行 73: {
行 74: photopath1=File1.PostedFile.FileName;
源文件: d:\项目管理\admin\add_xnxi02.aspx.cs 行: 72
{
photopath1=File1.PostedFile.FileName;
}
改成:
if (File1.PostedFile!=null && File1.PostedFile.fileName.Length>0)
{
photopath1=File1.Value;
}
错误:
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 70: content1=content.Text;
行 71: dtime1=dtime.Text;
行 72: if (File1.PostedFile!=null && File1.PostedFile.FileName.Length>0)
行 73: {
行 74: photopath1=File1.Value;
源文件: d:\项目管理\admin\add_xnxi02.aspx.cs 行: 72
但是我已经定义了:
protected System.Web.UI.HtmlControls.HtmlInputFile File1 ;
不知道怎么回事:-<
改成:protected System.Web.UI.HtmlControls.HtmlInputFile File1 =new HtmlInputFile()试试
但是我加进去的图片的photopath都是“nophoto”
:-<