Session["UserName"].ToString()做过判断了么。
if(Session["UserName"]!=null)
{
}

解决方案 »

  1.   

    Int32.Parse(Session["UserName"].ToString())这里有问题没?
      

  2.   

    Session["UserName"],它要是为null,
    Session["UserName"].ToString()就有问题
      

  3.   

    编译运行没报错 在提交后文件是可以上传到文件夹的 但是页面跳转后就报错 就是显示 
                    int nDocumentID =doc.AddDocument(TitleBox.Text.ToString(),
                    Content.Text.ToString(), 
                    Int32.Parse(Session["UserName"].ToString()),
                    docUrl,
                    Author.Text.ToString(),
                    FromSource.Text.ToString());未将对象设置应用到对象的实例。
    这段我原意是把上传信息写进数据库的 相关代码如下:
    namespace App_Code.Document 
    {
        public class Document
        {
            /// <summary>
            /// 添加新的文档
            /// </summary>
            /// <returns></returns>
            public int AddDocument(string sTitlebox, string sContent, int nUserName,string sDocUrl,string sAuthor, string sFromSource)
            {
                Database db = new Database();
                SqlParameter[] param = {
       db.CreateInParam("@Title",SqlDbType.VarChar,200,sTitlebox),
       db.CreateInParam("@Content",SqlDbType.Text,8000,sContent),
       db.CreateInParam("@UserID",SqlDbType.Int,4,nUserName), 
       db.CreateInParam("@DocUrl",SqlDbType.VarChar,200,sDocUrl),
       db.CreateInParam("@Author",SqlDbType.VarChar,200,sAuthor),
       db.CreateInParam("@FromSource",SqlDbType.VarChar,200,sFromSource)   
       };
                ///
                return (db.RunProc("Pr_AddDocument", param));
            }
         }
    }
      

  4.   

    int nDocumentID =doc.AddDocument(TitleBox.Text.ToString(),
                    Content.Text.ToString(), 
                    Int32.Parse(Session["UserName"].ToString()),
                    docUrl,
                    Author.Text.ToString(),
                    FromSource.Text.ToString());
    这里面不用那么多的ToString(),改成下面后
    int nDocumentID =doc.AddDocument(TitleBox.Text
                    Content.Text.
                    Int32.Parse(Session["UserName"]),
                    docUrl,
                    Author.Text,
                    FromSource.Text);
    在跟踪一下看看,是那个控件的Text没有传过来,或者Session["UserName"]的值为空
      

  5.   

    在这段代码前加断点
    int nDocumentID =doc.AddDocument(TitleBox.Text.ToString(),
                    Content.Text.ToString(), 
                    Int32.Parse(Session["UserName"].ToString()),
                    docUrl,
                    Author.Text.ToString(),
                    FromSource.Text.ToString());之后用立即窗口输出每个参数的值,看看有没有出问题。