/// <summary>
        /// 修改一条记录的照片
        /// </summary>
        /// <param name="model"></param>
        public void UpdatePicture(Maticsoft.Model.Base_Teachers model)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("update Base_Teachers set ");
            strSql.Append("Picture=@Picture ");
            strSql.Append(" where ID=@ID ");
            SqlParameter[] parameters = {
                    new SqlParameter("@ID", SqlDbType.Int,4),
                    new SqlParameter("@Picture", SqlDbType.Image)};
            parameters[0].Value = model.ID;
            parameters[1].Value = model.Picture;
            DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
        }为什么在VS2008里能正确修改图片。但把网站放在iis下再修改图片时就提示错误。

解决方案 »

  1.   

    提示什么错误?在IIS内运行网站  查看具体错误提示
      

  2.   

    刚才看了一下,好象找到原因了,那句话没问题。可能是以下错误:$.ajax
                    ({
                        type:"POST",
                        url:"Show_Teacher.aspx/Update_Teacher",
                        contentType:"application/json; charset=utf-8",
                        dataType:"json",
                        data:"{'ID':"+window.dialogArguments.ID_ing
                            +",'Picture':'"+imagePath
                            +"'}",
                        success:function(data)
                        {
                            window.dialogArguments.DataIsChanged=1;
                        },
                        error:function(err)
                        {
                            alert("修改记录失败!");
                        }
                    });
    [System.Web.Services.WebMethod]
        public static void Update_Teacher(int ID, string Picture)
        {
            Maticsoft.BLL.Base_Teachers bll_Base_Teachers = new Maticsoft.BLL.Base_Teachers();
            Maticsoft.Model.Base_Teachers model_Base_Teachers = new Maticsoft.Model.Base_Teachers();
            model_Base_Teachers.ID = ID;
            if (Picture.Trim() != "")
            {
                FileStream fs = new FileStream(Picture, FileMode.Open);
                byte[] byData = new byte[fs.Length];
                fs.Read(byData, 0, (int)fs.Length);
                fs.Close();
                model_Base_Teachers.Picture = byData;
                bll_Base_Teachers.UpdatePicture(model_Base_Teachers);
            }
        }我传给服务器的Picture只是一个路径名,但在服务器端执行时,可能读取的是服务器下这个路径的文件,所以出错了。缺了上传。