У меня проблема звучит странно для меня! Я собираюсь загрузить файл с помощью asp.net C# из пользовательского элемента управления. Вот структура моих веб-форм:Загрузить файл из пользовательского элемента управления, завернутого в панель обновления главной страницы
- Существует Site.Master файл, в котором держатель место содержания обернут панель обновления
- Eсть управления пользователя с именем Library.ascx, которые отображают списки книг чтобы пользователи могли загружать каждый из них, который им нравится. Обратите внимание, что книги отображаются с помощью веб-элемента управления ListView.
- выше пользовательский элемент управления используется в различных страниц на одном веб-сайте (представьте себе веб-сайт школы, который включает в себя различные уровни и каждый из которых имеет страницу библиотеки)
код для загрузки файла является как следующее:
protected void listViewBooks_ItemCommand(object sender, ListViewCommandEventArgs e)
{
if (e.CommandName != "Download") return;
var books = _lib.GetBookInfo(Convert.ToInt32(e.CommandArgument));
var filePath = string.Empty;
foreach (var s in books)
{
filePath = s.FilePath;
}
var fileName = filePath.Substring(filePath.LastIndexOf(@"/", StringComparison.Ordinal) + 1);
filePath = Server.MapPath("~/PDF/") + fileName;
var file = new FileInfo(filePath);
if (!file.Exists) return;
Response.ClearContent();
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment;filename=" + file.Name);
Response.AddHeader("Content-length", file.Length.ToString(CultureInfo.InvariantCulture));
Response.ContentType = "application/octet-stream";
Response.TransmitFile(file.FullName);
Response.End();
}
на самом деле, он идет до линии, прежде чем Response.End(), и я не знаю, почему он никогда не ловит последнюю скобку события, т.е. «}» и от точка зрения пользователей ничего не происходит! Я искал веб-страницы и подобные вопросы часами, но не смог найти решение! Например, this linke или this one и некоторые другие Любая помощь очень ценится!
Не лучше ли [универсальный веб-обработчик] (http://www.dotnetperls.com/ashx)? – BCdotWEB
На самом деле, у меня нет опыта работы с общим веб-обработчиком, но спасибо за ссылку, возможно, это помогает мне. – Ali