Я не очень разбираюсь в этой структуре, поэтому мне нужна помощь здесь. В представлении я хочу добавить ссылку или кнопку при нажатии на которую определенный файл удаляется с сервера. Я добавил этот метод к контроллеру:Удаление файла с сервера при нажатии кнопки в ASP.NET MVC
[Authorize]
public ActionResult DeleteFile(string path)
{
if ((System.IO.File.Exists(path)))
{
try
{
System.IO.File.Delete(path);
}catch(Exception ex)
{
Debug.WriteLine("Deletion of file failed: " + ex.Message);
}
}
return View();
}
Показался прост, хотя я не уверен в return View();
. Теперь в представлении мне нужна форма, потому что путь к файлу, который нужно удалить, должен быть отправлен в контроллер, это правильно? Это то, что я до сих пор, передразнил от другого кода в проекте:
@Html.BeginForm("DeleteFile", "Home", FormMethod.Post, new { id = "delete-attachment-form" })
{
@Html.Hidden("path", path)
}
path
является переменной JavaScript, содержащий путь к серверу в файл, который должен быть удален. Если я нахожусь на правильном пути здесь, как добавить кнопку или ссылку, чтобы щелкнуть по ней, она отправит форму?
Следует просто добавить кнопку отправки: ' ' –
KSib
Добавьте кнопку отправки в свою форму и обязательно отметьте свое действие с помощью' [HttpPost] '. – Jasen
Как вы используете javascript-переменную 'path' точно? Сервер будет отображать ваш HTML из '@ Html.Hidden' до выполнения javascript. –