Замедление UpdatePanel в IE

Python является динамически типизированным языком, поэтому переменные не имеют фиксированного типа. Используемые вами аннотации типов могут быть проверены с помощью такого инструмента, как mypy ( http://mypy-lang.org/ ), для такого рода столкновения типов, но вы не получите ошибку времени выполнения. [ 115]

На более техническом уровне то, что хранится в x, фактически является указателем на значение данных. Когда вы вызываете type(x), интерпретатор найдет значение, на которое указывает x, и вернет тип этого значения. Python явно не проверяет тип значения, которое вы присваиваете переменной. Из wiki.python.org :

В динамически типизированном языке переменная - это просто значение, связанное с именем; значение имеет тип - например, «целое число», «строка» или «список», но сама переменная этого не делает.

BLOCKQUOTE>

5
задан rick schott 9 December 2011 в 01:49
поделиться

6 ответов

Если бы скорость/производительность является главным беспокойством о Вас, я настоятельно рекомендовал бы против UpdatePanels, поскольку они вызывают полностраничную обратную передачу, которая перетаскивает ViewState в заголовке, среди другого дерьма, и вынуждает страницу пройти целый жизненный цикл каждый раз (даже при том, что пользователь не видит это).

Необходимо смочь к (относительно легко), используют PageMethods для выполнения задачи.

// In your aspx.cs define the server-side method marked with the 
// WebMethod attribute and it must be public static.
[WebMethod]
public static string HelloWorld(string name)
{
  return "Hello World - by " + name;
}

// Call the method via javascript
PageMethods.HelloWorld("Jimmy", callbackMethod, failMethod);
7
ответ дан 13 December 2019 в 05:44
поделиться

Работа с DOM и Запросами HTTP является по сути медленной, это - браузер. Лучший способ ускорить его состоит в том, чтобы уменьшить количество раз существует Запрос HTTP (Ajax или иначе), и сократите количество действий DOM, поиска, редактирования, замены, и т.д.

0
ответ дан 13 December 2019 в 05:44
поделиться

Для обнаружения, почему это занимает много времени, я рекомендовал бы использовать Скрипача для шпионажа за трафиком IE: http://www.fiddlertool.com/fiddler/

Вы будете смотреть на ответ каждого из сообщений, чтобы видеть, насколько большой они. Если сообщения> 5 КБ, или таким образом UpdatePanel является слишком свиным.

Это походит на довольно простую вещь, которую Вы пытаетесь сделать так, мне нелегко полагать, что панель обновления виновата. Тестирование его не должно быть слишком трудным все же. Самый легкий способ протестировать это без UpdatePanel состоял бы в том, чтобы использовать PageMethod. Эта страница имеет большое учебное руководство на нем: http://weblogs.asp.net/sohailsayed/archive/2008/02/23/calling-methods-in-a-codebehind-function-pagemethods-from-client-side-using-ajax-net.aspx

Вы могли также отправить свой код UpdatePanel, таким образом, мы могли получить больше деталей?

Править: Спасибо!

Какую версию IE Вы используете?

0
ответ дан 13 December 2019 в 05:44
поделиться

Замеченный в предыдущем проекте, что IE стал ужасно медленным, когда у нас была "куча" (150 +) текстовые поля на странице после согласовывания со скрипачом, мы полагали, что это был механизм визуализации, который был медленным.

(btw перед криком, 150 +, текстовые поля были явным клиентским требованием, мы в основном воссоздали настроенный Excel в сети),

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

Вот код для раскрывающегося управления (существует только один из них на странице, это совместно используется всеми средствами управления, содержащими значки):

<script type="text/javascript" src="<%=Response.ApplyAppPathModifier("~/js/jquery-1.2.6.js") %>"></script>
<script type="text/javascript" src="<%=Response.ApplyAppPathModifier("~/js/jquery.blockUI.js") %>"></script>
<asp:Panel CssClass="PopOutBox noPrint" ID="MyPnl" style="display: none; z-index:1000; width:230px; position: absolute;" runat="server">
    <cmp:Image MyImageType="SmallCancel" CssClass="fright" runat="server" ID="CloseImg" AlternateText="Close" />
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">

        <ContentTemplate>
            <asp:HiddenField ID="AttendanceFld" runat="server"  />
            <asp:HiddenField ID="DatePickerFld" runat="server"  />
            <table width="100%">
                <tr>
                    <td valign="top">
                        <asp:RadioButtonList EnableViewState="false" ID="AttendRBL" runat="server" RepeatDirection="Vertical">
                            <asp:ListItem Selected="True" Text="On Time" Value="" />
                            <asp:ListItem Text="Late" Value="Late" />
                            <asp:ListItem Text="Absent" Value="Absent" />
                            <asp:ListItem Text="Cleaning Flunk" Value="Other" title="This is used for things like cubby flunks" />
                            <asp:ListItem Text="Major Cleaning Flunk" Value="Major" title="This is used for things like White Glove flunks" />
                        </asp:RadioButtonList>
                    </td>
                    <td valign="top" style="text-align: center; vertical-align: middle;">
                        <asp:CheckBox EnableViewState="false" ID="ExcusedCB" runat="server" />
                        <br />
                        <asp:Label ID="Label1" EnableViewState="false" AssociatedControlID="ExcusedCB" Text="Excused"
                            runat="server" />
                    </td>
                </tr>

                <tr>
                    <td colspan="2">
                        <asp:Label EnableViewState="false" ID="Label2" Text="Notes" runat="server" AssociatedControlID="DataTB" />
                        <cmp:HelpPopUp EnableViewState="false" runat="server" Text='Must include "Out Sick" to be counted as ill on reports and progress reports' />
                        <br />
                        <asp:TextBox ID="DataTB" EnableViewState="false" runat="server" Columns="30" /><br />
                        <div style="font-size: 10px; text-align:center;">
                            <a href="#" onclick="setAttendVal('<%=this.DataTB.ClientID%>','Out Sick');return false;">
                                (Ill)</a> <a href="#" onclick="setAttendVal('<%=this.DataTB.ClientID%>','In Ethics');return false;">
                                    (Ethics)</a> <a href="#" onclick="setAttendVal('<%=this.DataTB.ClientID %>','Warned');return false;">
                                        (Warned)</a>
                        </div>
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
                        <cmp:ImageButton ID="DeleteBtn" OnClientClick="showAttendMenu(this,'');" OnClick="DeleteAttendance" ButtonType="SmallDelete"
                            CssClass="fright" runat="server" />
                        <cmp:ImageButton ID="SaveBtn" OnClientClick="showAttendMenu(this,'');" OnClick="SaveAttendance" ButtonType="SmallSave" runat="server" />
                    </td>
                </tr>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Panel>
0
ответ дан 13 December 2019 в 05:44
поделиться

Рекомендую выполнить трассировку перфорации с помощью текста ссылки . Это бесплатный инструмент для анализа производительности AJAX в Internet Explorer

0
ответ дан 13 December 2019 в 05:44
поделиться
Другие вопросы по тегам:

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