2012-11-13 12:00:28
Почти два года назад я наткнулся на довольно значительную уязвимость в сети сайтов StackExchange. Я ...
+ развернуть текстсохранённая копия
Почти два года назад я наткнулся на довольно значительную уязвимость в сети сайтов StackExchange. Я говорю «наткнулся» потому, что я не пытался взломать сайт. Обстоятельства приоткрыли мне дверь. Сама уязвимость является довольно интересной, и содержит урок для всех, кто создает и занимается поддержкой сайтов или серверной инфраструктуры. Итак, вот история о том, как я взломал StackOverflow…
Читать дальше →
Программа для конвертирования видео и аудио файлов. "Видео в Видео" поддерживает больше 37 выходных форматов.
Этот бесплатный видео конвертер обладает богатыми возможностями и поддерживает следующие форматы: Avi, DivX, Xvid, Mp4, H-264, flv, swf, DVD, Mpeg-1, Mpeg-2, Mov, 3gp, wmv, asf, mkv, dv, WebM, mp3, aac, ac3, wav и многие другие. Конвертер включает более 700 установок для многих устройств: айфон, айпад, мобильные телефоны, YouTube, Сони, Андроид, псп, пс вита... Включает Видео Объединитель, Разделитель, ДВД Риппер, Записыватель, Субтитры, и т.д
Когда вы используете Ajax вызовы то после того как вы воспользуетесь кнопкой «назад» в браузере – то скорее всего получите неприятную ошибку, связанную с тем что барузер запомнил путь для вызова ajax.
[HttpPost]
public ActionResult AjaxResult()
{
if (this.Request.IsAjaxRequest()) return PartialView("AjaxTestView");
return View("TestView");
}
Этот пост показывает как, используя плагин jQuery, отсортировать колонки привязанные к пользовательским классам.
Создайте ASP.NET вебсайт и добавьте GridView на него. Здесь я добавляю некий класс Employee и привязываю его к GridView.
Теперь загрузите плагин tablesorter отсюда tablesorter.com и положите его в папку со скриптами.
Здесь я добавил jQuery плагин в папку со скриптами, но можно было бы взять этот скрипт из Microsoft CDN.
Плагин tablesorter нуждается в тегах THEAD и TBODY для своей работы.
Контрол GridView по умолчанию не генерит эти теги, но он позаоляет включить с помощью настроечных свойств.
Используйте последующий код для генерации этих тегов
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); if (gvCustom.Rows.Count > 0) { //To render header in accessible format gvCustom.UseAccessibleHeader = true;
//Add the <thead> element gvCustom.HeaderRow.TableSection = TableRowSection.TableHeader;
//Add the <tfoot> element gvCustom.FooterRow.TableSection = TableRowSection.TableFooter;
if (gvCustom.TopPagerRow != null) { gvCustom.TopPagerRow.TableSection = TableRowSection.TableHeader; } if (gvCustom.BottomPagerRow != null) { gvCustom.BottomPagerRow.TableSection = TableRowSection.TableFooter; } } }
Теперь добавим следующий код для вызова плагина tablesorter над GridView.
Помните:
Если страничность включена у GridView, то только текущая страница сортируется.
Для того чтобы использовать этот плагин вам нужно выключить страничность.
Этот плагин работает прекрасно, когда GridView имеет меньшее количество строк (чем при необходимости страничности).
Теперь вы можете покликать на заголовках колонок, для того чтобы отсортировать их.