В моей веб-форме есть элемент управления загрузкой файлов (FileUpload1), который я использую для загрузки файла Excel.Я использую кнопку с именем btn_open, чтобы отобразить ее в виде сетки при нажатии.Я также сохраняю файл с помощью метода FileUpload1.SaveAs () в папке сервера.
Теперь у меня есть еще одна кнопка с именем btn_edit, которая при нажатии должна использовать тот же файл, который я только что загрузил, для выполнения другого набора операций.
Как передать этот файл / путь к файлу от btn_open_Click к btn_edit_Click?Я не хочу указывать точное местоположение в коде.Будет несколько раз, когда я буду открывать новые файлы Excel, поэтому я не хочу указывать путь к серверу для каждого нового файла. Это должно происходить программно.Кроме того, я хочу избегать использования Interop, если это возможно.
Следующий фрагмент кода может прояснить, что я хочу сделать.
protected void btn_open_Click(object sender, EventArgs e)
{
string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName);
if (fileExtension.ToLower() == ".xlsx" || fileExtension.ToLower() == ".xls")
{
string path = Path.GetFileName(FileUpload1.FileName); //capture the file name of the file I have uploaded
path = path.Replace(" ", ""); // if there is any spacing between the file name it will remove it
FileUpload1.SaveAs(Server.MapPath("~/ExcelFile/") + path); //saves to Server folder called ExcelFile
String ExcelPath = Server.MapPath("~/ExcelFile/") + path; // Returns the physical file path that corresponds to the specified virtual path.
.
.
*code to display it in gridview*
.
.
}
else
{
Console.Writeline("File type not permissible");
}
}
protected void btn_edit_Click(object sender, EventArgs e)
{
//HOW DO I PASS THE ABOVE FILE HERE PROGRAMATICALLY WITHOUT SPECIFYING IT'S EXACT LOCATION ON THE SERVER??
}