2013-05-16 2 views
0

Мне нужна помощь в этом, я вставляю каталог файлов в базу данных, но он не учитывает txtStoryTitle.Text в базе данных, например, если я нахожу HelloWorld в txtStoryTitle. Он отображается как Images/Story // (filename) вместо изображений/Story/HelloWorld/(имя файла) в БД. Я использую MySQL (workbench).C# как вставить в базу данных

, пожалуйста, дайте мне совет/решения по этому вопросу, заблаговременно!

Вот частичные коды:

protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e) 
    { 
     EnsureDirectoriesExist(); 


     String filepathImage = (@"Images/Story/" + txtStoryTitle.Text + "/" + e.FileName); 


     AjaxFileUpload1.SaveAs(Server.MapPath(filepathImage)); 


     Session["filepathImage"] = filepathImage; 

    } 

    public void EnsureDirectoriesExist() 
    { 
     if (!System.IO.Directory.Exists(Server.MapPath(@"Images/Story/" + txtStoryTitle.Text + "/"))) 
     { 
      System.IO.Directory.CreateDirectory(Server.MapPath(@"Images/Story/" + txtStoryTitle.Text + "/")); 
     } 
    } 

protected void btnDone_Click(object sender, EventArgs e) 
    { 
     if (Session["filepathImage"] != null) 
     { 
      string filepathImage = Session["filepathImage"] as string; 
      act.ActivityName = dropListActivity.SelectedItem.Text; 
      act.Title = txtStoryTitle.Text; 

      act.FileURL = filepathImage; 

      daoStory.Insert(act); 
      daoStory.Save(); 

     } 
+0

Можете ли вы показать, как выглядит вид - особенно элемент управления с именем txtStoryTitle – aquaraga

+0

Что такое 'daoStory' и показать код метода daoStory.Insert? – Damith

+0

Проверьте, не получаете ли вы от txtStoryTitle.Text! Как я вижу, вы получаете пустую строку, поэтому она появляется как Images/Story // (filename) – Sylca

ответ

1

В соответствии с вашим кодом .. файл путь "Images/история /" + txtStoryTitle.Text + "/" + e.FileName» и после предоставления txtStoryTitle.Text она сохраняется как «Images/история // FileName» .. то это означает txtStoryTitle.Text does'nt содержать любой текст ..

Если его в .NET, то убедитесь, что вы установили AutoPostBack свойство txtStoryTitle textbox to true. , и если это уже верно, попробуйте выяснить, почему это текстовое поле doesnt сохранить свое состояние.

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