Веб-части ASP.NET: поддержка перетаскивания в браузерах без IE - PullRequest
3 голосов
/ 09 февраля 2010

Я использую веб-части на своем сайте с момента выхода ASP.NET 2.0. Перетаскивание веб-частей прекрасно работает в Internet Explorer, но совсем не работает в Firefox, Chrome или Safari. Недавно я обновил сайт до ASP.NET 3.5 с пакетом обновления 1 (SP1), но по-прежнему не могу перетаскивать веб-части в браузерах, отличных от IE.

Как включить перетаскивание веб-частей в этих других браузерах?

Обновление (09.02.2010):

Это упоминает эту проблему, но не предлагает решения: http://forums.asp.net/t/1294857.aspx

Обновление (19.02.2010):

Эти сообщения предлагают возможное решение, но я пока не могу заставить его работать на моем сайте:

Короче говоря, они говорят, что проблема перетаскивания была решена в "ASP.NET Futures (выпуск за июль 2007 г.)", но по какой-то сумасшедшей причине была оставлена ​​вне ASP.NET 3.5 SP1. Итак, чтобы решить, вы должны скачать релиз Futures по адресу: http://www.microsoft.com/downloads/details.aspx?FamilyId=A5189BCB-EF81-4C12-9733-E294D13A58E6&displaylang=en

Затем вам нужно использовать WebPartManager и WebPartZone из пространства имен Microsoft.Web.Preview.UI.Controls.WebParts.

Ответы [ 6 ]

3 голосов
/ 18 февраля 2010

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

<div style="background-color: red; padding: 50px; width: 100px;">&nbsp;</div>
<div style="background-color: green; width: 100px;">&nbsp;</div>

Красная коробка вдвое больше зеленой?

Если это не так, у вас неправильный DOCTYPE, из-за которого браузеры отображают страницу в режиме Quirks, что в основном прекращает всякую надежду, что она будет работать в разных браузерах.

Если размер ящиков правильный, вы получаете какие-либо сообщения об ошибках в консоли Firebug при попытке перетаскивания в Firefox?

И в качестве двух последних комментариев, связанных с ответами остальных:

  1. Если вы можете, я также рекомендую вам избегать asp.net ajax и использовать вместо этого jQuery. Вы найдете гораздо больше информации в Интернете, и это намного лучше задокументировано IMO.
  2. Проверьте ссылки в вашем проекте, чтобы убедиться, что вы действительно используете последнюю версию ASP.Net Ajax. Даже если на вашем компьютере установлена ​​последняя версия ASP.Net, ваш проект может ссылаться на более старую DLL, включенную в каталог bin (это случилось со мной однажды, поэтому я должен знать!)
3 голосов
/ 12 февраля 2010

Вы должны использовать очень старую версию "Атласа", потому что они исправили это довольно давно (после бета 1) .

0 голосов
/ 23 марта 2011
0 голосов
/ 18 февраля 2010

Вы уже проверили поддержку перетаскивания JQuery? Он работает во всех браузерах, которые поддерживают операции перетаскивания, и его довольно легко реализовать

http://www.highoncoding.com/Articles/381_Drag%20And%20Drop%20With%20Persistence%20Using%20JQuery.aspx

0 голосов
/ 16 февраля 2010

Мне кажется, что asp.net ajax не является подходящим инструментом для этой работы. Это слишком уродливо и тяжело. Я реализовал аналогичную задачу, используя ExtJs ( нажмите здесь для примера ). ExtJs - очень мощная библиотека js для RIA. Это было очень легко и быстро реализовать, и не было никакой боли - код библиотеки почти идеален, и документация действительно потрясающая.
Также вы можете попробовать реализовать свою веб-часть с помощью JQuery ( веб-частей с JQuery ) и JQuery UI. Но это будет намного сложнее по сравнению с ExtJ.

(02/17/2010)
Я настоятельно рекомендую не использовать asp.net ajax для этой задачи. Это очень трудно отлаживать. JS-код библиотеки IMO безобразен, имеет много подводных камней и не позволяет легко настраивать. И поэтому я рекомендую использовать другой подход. Но если вы хотите, вы можете проверить источник Dropthings веб-портала. Он использует asp.net ajax, но он сильно настроен. И это работает в FF, Chrome, Opera. Вот демоверсия .

0 голосов
/ 16 февраля 2010

Я не знаю, как ваше состояние приложения, но я настоятельно рекомендую использовать что-то вроде стиля веб-части Google IG. Это легкий и тяжелый элемент управления, который отлично работает со всеми доступными браузерами!

Полное описание можно найти в разделе Как создать страницу в стиле Google ig по адресу:

http://userscripts.org/scripts/review/2279

обратите внимание, что это скрипт Greasemonkey с открытым исходным кодом.

Вы также можете найти похожий проект в codeproject

http://www.codeproject.com/KB/ajax/MakingGoogleIG.aspx?msg=3098239

надеюсь, что это поможет

...