Экспортируйте ASPX в HTML

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

5
задан Lea Cohen 13 September 2008 в 19:15
поделиться

5 ответов

Вызов Render метод все еще довольно прост. Просто создайте экземпляр своей страницы, создайте тупик WebContext наряду с WebRequest объект и вызов Render метод страницы. Вы затем свободны сделать независимо от того, что Вы хотите с результатами.

С другой стороны, запишите немного curl или wget сценарий, чтобы загрузить и сохранить, какой бы ни страницы Вы хотите сделать статичным.

2
ответ дан 13 December 2019 в 19:39
поделиться

Вы могли использовать wget (инструмент командной строки), чтобы рекурсивно запросить каждую страницу и сохранить их в файлы HTML. Это обновило бы все необходимые ссылки в получающемся HTML к ссылке .html файлы вместо .aspx. Таким образом, можно кодировать весь сайт, как будто Вы использовали сгенерированные сервером страницы (легче протестировать) и затем преобразовать его в статические страницы.

При необходимости в статическом HTML по причинам производительности только мое предпочтение состояло бы в том, чтобы использовать кэширование вывода ASP.NET.

2
ответ дан 13 December 2019 в 19:39
поделиться

Я рекомендую, чтобы Вы сделали это очень простой путь и не делали этого в коде. Это позволит Вашему коду CMS делать то, что код CMS должен сделать и сохранит его максимально простым.

Используйте продукт, такой как HTTrack. Это называет себя "копировальным устройством веб-сайта". Это проверяет сайт и создает вывод HTML. Это быстро и свободно. У Вас может просто быть выполненный на любой частоте, Вы думаете, является лучшим.

Это отделяет Ваши потребности вывода HTML от Вашей разработки и реализации CMS. Это уменьшает сложность и дает Вам некоторую гибкость в том, как Вы производите HTML, не представляя места ошибки в Вашем коде CMS.

2
ответ дан 13 December 2019 в 19:39
поделиться

@ckarras: Я не использовал бы внешний инструмент, потому что я хочу, чтобы страницы HTML были созданы программно и не вручную.

@jttraino: у Меня нет временного интервала, в котором сайт должен быть произведен - uotput должен произойти, когда пользователь создает новый сайт.

@Frank Krueger: Я действительно не понимаю, как создать экземпляр моего использования страницы WebContext и WebRequest.

Я искал "wget" в searchdotnet и добрался до сообщения о классе .NET под названием WebClient. Это, кажется, делает то, что я хочу, если я использую DownloadString (), метод - получает строку от определенного URL. Проблема состоит в том, что, потому что наш CMS должен быть зарегистрирован к, когда метод пытается достигнуть страницы, это брошено в страницу входа в систему и поэтому возвращает login.aspx HTML...

Какие-либо мысли относительно того, как я могу продолжить отсюда?

1
ответ дан 13 December 2019 в 19:39
поделиться

Я, кажется, нашел решение для своего problemby использованием Сервера. Метод Ecxcute.

Я нашел статью что demonstared использование его:

TextWriter textWriter = new StringWriter();
Server.Execute("myOtherPage.aspx", textWriter);

Затем я делаю несколько maniulatons на авторе учебника и вставляю его в файл HTML. И вуаля!Работает!

4
ответ дан 13 December 2019 в 19:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: