Правила - никогда больше не используйте одну точку
- одну точку
var range = ((Range)xlWorksheet.Cells[rowIndex, setColumn]);
var hyperLinks = range.Hyperlinks;
hyperLinks.Add(range, data);
- Две или более точки
(Range)xlWorksheet.Cells[rowIndex, setColumn]).Hyperlinks.Add(range, data);
- - Пример
using Microsoft.Office.Interop.Excel;
Application xls = null;
Workbooks workBooks = null;
Workbook workBook = null;
Sheets sheets = null;
Worksheet workSheet1 = null;
Worksheet workSheet2 = null;
workBooks = xls.Workbooks;
workBook = workBooks.Open(workSpaceFile);
sheets = workBook.Worksheets;
workSheet1 = (Worksheet)sheets[1];
// removing from Memory
if (xls != null)
{
foreach (Microsoft.Office.Interop.Excel.Worksheet sheet in sheets)
{
ReleaseObject(sheet);
}
ReleaseObject(sheets);
workBook.Close();
ReleaseObject(workBook);
ReleaseObject(workBooks);
xls.Application.Quit(); // THIS IS WHAT IS CAUSES EXCEL TO CLOSE
xls.Quit();
ReleaseObject(xls);
sheets = null;
workBook = null;
workBooks = null;
xls = null;
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
}
Просто изменение window.location
в JavaScript опасно , потому что пользователь мог все еще совершить нападки кнопка "Назад" и повторно отправить сообщение, которое могло иметь неожиданные результаты (такой как дублирующаяся покупка ). PRG является намного лучшим решением
Использование Отправление/Перенаправление/Получение (PRG) шаблон
Для предотвращения этой проблемы, много веб-приложений используют шаблон PRG — вместо того, чтобы возвратить страницу HTML непосредственно, операция POST возвращает команду перенаправления (использующий код ответа HTTP 303 (иногда 302) вместе с заголовком ответа "Местоположения" HTTP), давая браузеру команду загрузить другую страницу с помощью HTTP-запроса GET. Страница результатов может затем безопасно быть отмечена или перезагружена без неожиданных побочных эффектов.
Вы не можете обновиться без предупреждения; обновление дает браузеру команду повторять последнее действие. Это до браузера, чтобы выбрать, предупредить ли пользователя при повторении, что последнее действие включает повторно отправляющие данные.
Вы могли повторно перейти к той же странице с новой сессией путем выполнения:
window.location = window.location.href;
Если Вы на этапе, где Вы закончены с данными сообщения и просто хотите просмотреть страницу снова заново, Вы могли просто использовать window.location и даже возможно, добавить случайную строку как парамать запроса для гарантии новой версии страницы.
Если вы используете ] GET
вместо POST
, тогда мы не сможем заполнить значения формы. Если вы используете window.opener.location.href = window.opener.location.href;
, тогда мы можем запустить базу данных и получить значение, но единственное, что это JSP
- это не обновляется даже несмотря на то, что скрипт имеет значения формы.