К сожалению, это известная ошибка в DragPanelExtender. Я бы порекомендовал сбросить модальный расширитель все вместе, если это вариант, и вам удобно с javascript.
Например, с jQuery / jQuery UI ваша страница будет выглядеть так:
<form id="form1" runat="server">
<br />
Clicking the button will bring up the modal dialog<br />
<br />
<div>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
<br />
<div id="myModal" Style="display: None" background="#CCCCCC" title="Caption/Dialog Title">
<table>
<tr>
<td>
<asp:Label ID="lblFirst" runat="server" Text="First" />
</td>
<td>
<asp:TextBox ID="txtFirst" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblLast" runat="server" Text="Last" />
</td>
<td>
<asp:TextBox ID="txtLast" runat="server" />
</td>
</tr>
</table>
</div>
<asp:Label ID="lblMessage" runat="server"></asp:Label>
<br />
<br />
</div>
</form>
<script type="text/javascript">
$(function() {
$("#<%= Button1.ClientID %>").click() {
$("#myModal").dialog({ buttons: { "Ok": function() { $(this).dialog("close"); } } });
}
});
</script>
Это совершенно другой способ программирования, но он дает гораздо более богатый пользовательский интерфейс для пользователя. Если вы хотите изучить jQuery и узнать, как он работает, это действительно естественный / гибкий синтаксис, который может добавить большую мощность / гибкость вашим веб-страницам. Теперь имейте в виду, что я предпочитаю jQuery, но есть много других доступных библиотек javascript . По крайней мере, вы должны просмотреть и посмотреть, что выглядит наиболее удобным, если вы только начинаете ... возможно, поскольку вы из VB-фона (я из C #), что стиль / синтаксис кодирования для других библиотек намного более привлекательным.
Теперь, если вы не хотите идти по этому пути и он слишком незнаком, насколько я могу судить, ваша единственная альтернатива - делать то, что вы не хотите ... скомпилируйте AJAX Control Toolkit самостоятельно. Если вы хотите пойти по этому пути, возьмите последний код из codeplex и измените следующий раздел Release\AjaxControlToolkit\Compat\DragDrop\DragDropScripts.js
:
_drag: function(isInitialDrag) {
var ev = window._event;
var mousePosition = { x: ev.clientX, y: ev.clientY };
На это:
_drag: function(isInitialDrag) {
if (!this._activeDragVisual) return;
var ev = window._event;
var mousePosition = { x: ev.clientX, y: ev.clientY };
Операция _onScrollerTick
в некоторых браузерах выводит из строя и обнуляет функцию dragVisual. Здесь нужно отдать должное : Сообщение на форумах ASP.Net от freakyer привело меня по этому пути отладки, чтобы выяснить, где оно ломается ... но другого решения, как там, нет в некоторых браузерах это ошибка, которую нельзя исправить без изменения скрипта и перекомпиляции.
Я призываю вас рассмотреть путь к jQuery / other Framework, есть тонна поддержки сообщества и примеры, которые помогут вам начать работу. Этот вопрос того времени стоит прочитать, если вам вообще интересны варианты фреймворка.