错误提示:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
 
namespace duowenjian
{
/// <summary>
/// WebForm2 的摘要说明。
/// </summary>
public class WebForm2 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
    int i=Convert.ToInt32(Request.QueryString["ss"]);
for(int j=0;j<2;j++)
{
                          System.Web.UI.HtmlControls.HtmlInputFile ff=new HtmlInputFile();
ff.Attributes.Add("runat","server");
ff.ID="file"+Convert.ToString(j);
this.Page.Controls.Add(ff);}
}// 在此处放置用户代码以初始化页面
} #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)
{
System.Web.UI.HtmlControls.HtmlInputFile hi=new HtmlInputFile();
hi=(System.Web.UI.HtmlControls.HtmlInputFile)(Page.FindControl("file0"));
            *string a=hi.PostedFile.FileName;*//提示就是这行出的错误
Response.Write(a);
}
}
   
}

解决方案 »

  1.   

    动态生成控件没有保存,
    "
    for(int j=0;j<2;j++)
    {
            System.Web.UI.HtmlControls.HtmlInputFile ff=new HtmlInputFile();
    ff.Attributes.Add("runat","server");
    ff.ID="file"+Convert.ToString(j);
    this.Page.Controls.Add(ff);
    }
    "
    这段代码说生成的 HtmlInputFile 控件已经没有
      

  2.   

    不介意的话,你就放两个控件在页面上吧
    <input type="file" id="uploadFile" runat="server" class="flat" NAME="uploadFile" style="WIDTH:100%">
      

  3.   

    protected override void Render(System.Web.UI.HtmlTextWriter writer)
    要重写