Выполнить код, когда отображается частичное представление

0

Во-первых, я уверен, что у меня отсутствует лучший способ навигации и загрузки частичных представлений. Итак, если я собираюсь сделать это не так, пожалуйста, дайте мне знать. У меня такое чувство, что я делаю это сложнее, чем нужно.

То, что я пытаюсь выполнить, заключается в том, что мой веб-сайт ведет себя как одностраничное приложение. Для этого у меня есть много частичных представлений в div. Я скрываю все div, но активен. Я не уверен, как запускать код в частичном представлении только тогда, когда он отображается.

Вот представление div и partial, которое меня интересует в этом сценарии (это в Index.cshtml):

<div id="app">
    @Html.Partial("~/Views/PartialViews/App.cshtml")
</div>

И это JavaScript, который показывает, что частичный вид (также в Index.cshtml):

    function showApp(id) {
        hideAll();
        $('#txtAppId').val(id);  // This is how I'm passing data to the partial view
        $('#app').show();
    }

Это хорошо работает (по крайней мере, пока показывает частичное представление), но как я могу получить код в App.cshtml для запуска только тогда, когда он показан так?

В App.cshtml (частичное представление):

<script>
    $(function() {
        // Note: This will execute as soon as the main page is loaded. I don't want
        //       code to execute right away, but only when this view is shown.
    });

    function doSomething() {
        // Only when this view is shown do I want code to execute here.
    }
</script>

Как я doSomething() выполнить doSomething() когда отображается частичное представление?

Теги:
asp.net-mvc
asp.net-mvc-4

1 ответ

1
Лучший ответ

Вызовите функцию после отображения частичного представления в index.cshtml

function showApp(id) {
        hideAll();
        $('#txtAppId').val(id);  // This is how I'm passing data to the partial view
        $('#app').show();
        doSomething(); //Here invoke it.
    }

Вы не можете напрямую обнаружить, когда элемент меняет видимость и запускает какой-то скрипт, здесь вы можете контролировать, когда он становится видимым, поэтому вызовите метод, как только вы сделаете его видимым.

  • 0
    Такая простая и легкая вещь. Я даже не думал попробовать это. Спасибо.
  • 0
    @BobHorn Добро пожаловать ... :)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню