JQuery не работает в частичном представлении

0

У меня проблема с частичным представлением в MVC3 Razor. Когда я обычно выполняю частичное представление (с помощью Html.RenderAction), jQuery работает, но когда я загружаю представление, в конкретном div с jQuery ajax.actionlink для этого частичного представления не работает. Код jQuery находится на моей странице макета.

Кто-нибудь знает, в чем проблема?

html находится в частичном представлении, а скрипт находится на странице макета.

когда я загружаю частичный вид с помощью @{Html.RenderAction("action", "Controler"); } @{Html.RenderAction("action", "Controler"); } jquery работает, но когда я загружаю его:

@Ajax.ActionLink("name", "action", "controler", new AjaxOptions
                  {

                      OnComplete = "",
                      InsertionMode = InsertionMode.Replace,
                      UpdateTargetId = "ModeliSadrzaj"
                  })

это доцентная работа

  • 0
    проверьте консоль браузера на наличие ошибок. Вероятно, неправильно загружается jquery.js.
  • 1
    Мы сможем помочь вам лучше, если вы предоставите нам несколько примеров кода или хотя бы чуть более подробно о том, что и где делается.
Показать ещё 3 комментария
Теги:
asp.net-mvc-3
partial-views

1 ответ

2

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

Когда вы используете Html.RenderAction, ваше частичное представление является частью исходного пакета, отправленного в браузер. Тогда ваш javascript-код (на странице макета) сможет работать над ним при событии document.ready. Вещи работают так, как должны.

Когда вы используете Ajax.ActionLink, на вашей странице есть только тег, который при нажатии будет загружать ваше частичное представление. Вы настроили код на своей странице макета для запуска только после завершения ActionLink? Если ваш код страницы макета работает на готовом документе, то частичный вид еще не существует (поскольку он загружается только после нажатия ссылки).

Действие ActionLink не автоматически загружает ваш контент, это то, что я пытаюсь сказать. Таким образом, это не похоже на функцию Html.RenderAction.

  • 0
    +1, это были мои мысли тоже
  • 0
    хорошо, я нашел решение ... in @ Ajax.ActionLink ("имя", "действие", "контроллер", новые AjaxOptions {HttpMethod = "POST", OnComplete = "", InsertionMode = InsertionMode.Replace, UpdateTargetId = "ModeliSadrzaj") }) спасибо в любом случае :)

Ещё вопросы

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