2015-06-01 2 views
-3

мой код нижеКак я могу использовать OpenFileDialog в C# MVC

@Ajax.ActionLink("Choose File", 
          "chooseItemView", 
          new { }, 
          new AjaxOptions 
          { 
           UpdateTargetId = "replaceDiv", 
           InsertionMode = InsertionMode.Replace, 
           HttpMethod = "GET", 
           //OnBegin = "startPreLoader", 
           OnSuccess = "stopPreLoader", 
           OnFailure = "stopPreLoader" 
          }, new 
          { 
           @id=1, 
           @type="file", 
           @class="btn btn-primary offset-top-2", 
           /*@id=item.GetHashCode().GetHashCode(), 
           * onclick = "fileUploadFunction('" + item.GetHashCode().GetHashCode() + "')"*/ 
           onclick = "fileUploadFunction('" + 1 + "')" 
          }) 



public ActionResult chooseItemView() 
    { 
     /*MessageBox.Show("Hi");*/ 
     OpenFileDialog openFileDialog=new OpenFileDialog(); 
     openFileDialog.Multiselect = false; 
     openFileDialog.Filter = "txt files (*.txt)|*.txt| DOC files (*.doc)|*.doc"; 
     openFileDialog.ShowDialog(); 
     return PartialView("_UploadItemView",null); 
    } 

есть exceoption при запуске этого, как показано ниже

«Текущий поток должен быть установлен в режим одного потока квартиры (STA), прежде чем OLE-вызовы могут быть выполнены. Убедитесь, что на главной функции есть STAThreadAttribute, отмеченный на нем. Это исключение возникает только в том случае, если к процессу прикреплен отладчик. "

так как я могу это решить?

+1

возможный дубликат [MVC 4 Razor Загрузить File] (http://stackoverflow.com/questions/15680629/mvc-4-razor -file-upload) –

ответ

2

Вы не можете использовать openfiledialog в веб-приложении mvc. использовать вместо

<input type="file"/>

передать этот OpenFileDialog in cshtml

+0

Большое спасибо. Я много времени пробовал. –

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