почему load (), on (), bind () и т. д. для элемента недоступны - PullRequest
0 голосов
/ 13 мая 2019

Я недавно перешел из WPF в Razor Pages (одностраничное приложение, а не в MVC Razor Views) и не могу получить доступ к функциям элемента.

в моем частичном представлении (crews.cshtml)

@page
@model CrewsModel
<body>
    <div class="container">
        <div class="row>">
            <button class="btn btn-primary" id="clickyButton">refresh</button>
            <p id="timeDisplays" class="row">                
                <partial name="Controls/DateTimeDisplayControl" , model="3/1/2019" />
            </p>
        </div>        
    </div>

</body>
<script src="~/lib/jquery/dist/jquery.js" type="text/javascript"></script>
<script>
      var element = document.getElementById("timeDisplays");
      console.log(element.className);
      element.load("/DateTimeComponent?handler=DisplayTimePartial");
      console.log("Reloaded");
</script>

Я могу получить element.className для записи в консоль.Однако, когда я вызываю функцию load (или on, или bind), я получаю:

TypeError: element.load is not a function

Я также пробовал:

element.on("load","/DateTimeComponent?handler=DisplayTimePartial");

Для теста я заменилтело функции с:


            if (typeof jQuery != 'undefined')
            {
                // jQuery is loaded => print the version
                alert(jQuery.fn.jquery);
            }

, чтобы убедиться, что jQuery был загружен и имеет правильную версию.

Конечная цель - перезагрузить частичный просмотр страницы в div 'timeDisplays'по требованию.

Я использую .net core 2.2 и jquery 3.3.1

1 Ответ

3 голосов
/ 13 мая 2019

Вы не используете метод загрузки jQuery api, а вместо браузера API, у которого нет метода загрузки. Так что вы можете сделать это так:

script>
      var element = $("#timeDisplays");
      element.load("/DateTimeComponent?handler=DisplayTimePartial");
      console.log("Reloaded");
</script>

Дайте мне знать, если это работает для вас.

...