Как решить эту ошибку JavaScript, я использую ToolScriptManager для UpdatePanel - PullRequest
0 голосов
/ 15 сентября 2010

Я пытаюсь зарегистрировать нижеупомянутый javascript для использования с GridView, чтобы добавить функцию замораживания в GridView.При компиляции выдается ошибка Ошибка выполнения Microsoft JScript: 'Sys' не определено

Как это можно исправить.

<script language="javascript" type="text/javascript">
    // This Script is used to maintain Grid Scroll on Partial Postback
    var scrollTop;
    //Register Begin Request and End Request 
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    //Get The Div Scroll Position
    function BeginRequestHandler(sender, args) 
    {
    var m = document.getElementById('divGrid');
    scrollTop=m.scrollTop;
    }
    //Set The Div Scroll Position
    function EndRequestHandler(sender, args)
    {
    var m = document.getElementById('divGrid');
    m.scrollTop = scrollTop;
    } 
</script>  

Ответы [ 2 ]

0 голосов
/ 06 сентября 2012

это довольно старый пост, но я подумал, что важно определить, есть еще одна вещь, идентифицированная в моем коде для идентификации. Проще говоря, я не разместил код JavaScript в правильном месте, особенно при использовании главной страницы.

Это работает для меня, используя toolkitscriptmanager на главной странице с EnablePartialRendering = "true"

Справка:

Код не полный, но должен содержать достаточно деталей.

<asp:content id="Content2" contentplaceholderid="ContentPlaceHolder1" runat="server">
<div>

    <script type="text/javascript">

        var scrolltop;
   Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
   Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

        function BeginRequestHandler(sender, args) {
            var elem = $get("scrollableContainer");

            scrolltop = elem.scrollTop;
        }

        function EndRequestHandler(sender, args) {
            var elem = $get("scrollableContainer");

            elem.scrollTop = scrolltop;
        }
    </script>

    <asp:updatepanel id="UpdatePanel1" runat="server" updatemode="Conditional">
        <contenttemplate>
        </contenttemplate>
    </asp:updatepanel>

Надеюсь, это поможет!

0 голосов
/ 15 сентября 2010
    <script type="text/javascript">
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_initializeRequest(initializeRequest);
        prm.add_endRequest(endRequest);
        var _postBackElement;</br>
        function initializeRequest(sender, e) 
     {
if (prm.get_isInAsyncPostBack()) 
{ e.set_cancel(true); }

    var m = document.getElementById('divGrid'); 
    scrollTop=m.scrollTop; 
    } 
    function endRequest(sender, e)
    { 
    var m = document.getElementById('divGrid'); 
    m.scrollTop = scrollTop;
    } 
            </script>



try adding the following in web.config under <system.web>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...