Я пытаюсь отобразить одну из своих страниц, и у меня есть вызов Html.RenderAction()
в верхней части элемента, который я хотел бы отобразить.Я хотел бы вызвать один из моих методов инициализации js в document.ready()
изнутри страницы, которая отображается через мой вызов RenderAction, но, похоже, он вызывает document.ready()
перед HTML-кодом на странице после вызова Html.RenderAction()
.
Из-за этого функция init проверяет данные из элемента кендо, который не был загружен с момента его вызова до завершения JQuery, и видит только входные данные, которые должны быть входными данными кендо, по умолчанию html <input>
elements.
Другими словами, есть ли способ отложить загрузку / вызов RenderAction до тех пор, пока страница не будет загружена?Или я должен просто использовать некрасивый CSS, чтобы держать нужный раздел в верхней части моего div?Краткое изложение моего кода ниже:
<html>
...
<div>
@Html.RenderAction("File that calls init() method")
<...rest of page that I need to load first, including kendo text boxes/>
</div>
</html>
Файл, который вызывает метод init ()
<div>
...
</div>
<script src="...">
$(document).ready(function() {
myJs.init(params)
}
</script>
Теперь, когда я приступил к реализации ответа нижев другом месте я понял, что при переключении с document.ready
на window.on('load',...)
теперь нарушается другое представление, которое работает аналогично, но вместо этого вызов @Html.RenderAction
находится внизу:
...
<div>
<>page including kendo inputs</>
@Html.RenderAction("different file that calls same init() method")
</div>
</html>
В основном,document.ready
работает для меня, если бритва находится перед кендо, но не наоборот - а window.on('load',function(){...})
работает на противоположное.