2008-10-30 7 views
1

Я могу загружать изображения в базу данных с помощью linq и элемента управления listview при ссылке на метод e.Values ​​для ListViewInsertEventArgs, но ? нет такого метода в ListViewEditEventArgs, так что я могу использовать для достижения тех же результатовЧто я могу использовать вместо e.Values.add (... для ListViewEditEventArgs для загрузки изображения

вот мой вставки код:

защищен недействительным ProjectPhotosList_ItemInserting (объект отправителя, ListViewInsertEventArgs е)

{

FileUpload uplImage = (FileUpload) ProjectPhotosList.InsertItem.FindControl ("uplImage");

Label fileuploadlbl = (Label) ProjectPhotosList.InsertItem.FindControl ("fileuploadlbl");

byte[] img = null; 
    if (uplImage.HasFile || !uplImage.FileName.ToLower().EndsWith(".jpg")) 
    { 
     try 
     { 
      img = new byte[uplImage.PostedFile.ContentLength]; 
      uplImage.PostedFile.InputStream.Read(img, 0, img.Length); 
     } 
     catch 
     { 
      fileuploadlbl.Text = "unable to upload " + uplImage.FileName.ToString(); 
     } 
    } 
    if (img == null) 
    { 
     e.Cancel = true; 
     fileuploadlbl.Text = "Please choose a file to upload"; 
    } 

    try 
    { 
     e.Values.Add("ProjectPhoto", new System.Data.Linq.Binary(img)); 
     fileuploadlbl.Text = "File Upload Successful"; 
    } 
    catch 
    { 
     fileuploadlbl.Text = "File Upload Failed, please try again"; 
    } 
} 

ответ

0

ОК, поэтому я решил проблему! Я просто должен был пойти об этом немного по-другому:

это важный код:

INT MyKey = int.Parse (ProjectPhotosList.DataKeys [e.ItemIndex] .Value.ToString()) ;

его просто простой способ получить основное значение ключа выбранной строки. Я нашел сообщение о загрузке pdf-файлов в базу данных и решил основать остальную часть моего кода. Так вот полный код:

защищен недействительным ProjectPhotosList_ItemUpdating (объект отправителя, ListViewUpdateEventArgs е)

{

FileUpload Myfile = (FileUpload) ProjectPhotosList.EditItem.FindControl ("uploadImage");

TextBox myCaption = (TextBox)ProjectPhotosList.EditItem.FindControl("ProjectPhotoCaptionTextBox"); 

    int mykey = int.Parse(ProjectPhotosList.DataKeys[e.ItemIndex].Value.ToString()); 

    if (myFile.HasFile) 
    { 

     //Get the posted file 
     Stream fileDataStream = myFile.PostedFile.InputStream; 

     //Get length of file 
     int fileLength = myFile.PostedFile.ContentLength; 

     //Create a byte array with file length 
     byte[] fileData = new byte[fileLength]; 

     //Read the stream into the byte array 
     fileDataStream.Read(fileData, 0, fileLength); 

     //get the file type 
     string fileType = myFile.PostedFile.ContentType; 

     //Open Connection 
     PHJamesDataContext db = new PHJamesDataContext(); 
     //Find the Right Row 
     PHJProjectPhoto Newphoto = (from p in db.PHJProjectPhotos 
            where p.ProjectPhotoId == mykey 
            select p).Single<PHJProjectPhoto>(); 


     Newphoto.ProjectPhoto = fileData; 

     db.SubmitChanges(); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^