Поскольку вы используете ASP.NET, вы не можете использовать класс OpenFileDialog
.Это для приложений Windows Forms.
Для загрузки файла вам понадобится использовать выгрузку файла на веб-странице. Вот один пример этого из MSDN с использованием элемента управления FileUpload.
Простой пример с использованием ввода HTML:
<input type="file" name="file" />
Вам придется обновить свой кодфайл также.
РЕДАКТИРОВАТЬ: я не знал, что это было для проекта MVC, а не веб-форм.
Вы не сможете использовать элемент управления asp: FileUpload, так как вы 'не использовать веб-формы.Тем не менее, это не сложно сделать это в MVC. Обратитесь к этой статье для всестороннего примера.Я извлек часть статьи ниже.
У вас будет какое-то действие, чтобы отобразить страницу и принять опубликованный файл на вашем контроллере:
[HttpGet]
public ActionResult UploadFile()
{
return View();
}
[HttpPost]
public ActionResult UploadFile(HttpPostedFileBase file)
{
try
{
if (file.ContentLength > 0)
{
string _FileName = Path.GetFileName(file.FileName);
string _path = Path.Combine(Server.MapPath("~/UploadedFiles"), _FileName);
file.SaveAs(_path);
}
ViewBag.Message = "File Uploaded Successfully!!";
return View();
}
catch
{
ViewBag.Message = "File upload failed!!";
return View();
}
}
И на ваш взгляд, у вас будет форма для загрузки и отправки файла:
@using(Html.BeginForm("UploadFile","Upload", FormMethod.Post, new { enctype="multipart/form-data"}))
{
<div>
@Html.TextBox("file", "", new { type= "file"}) <br />
<input type="submit" value="Upload" />
@ViewBag.Message
</div>
}