Запускать / вызывать событие javascript / jQuery из контроллера ASP.NET MVC - PullRequest
0 голосов
/ 08 июля 2011

У меня есть вопрос, очень похожий на этот , как вызвать функцию javascript из файла Controllers в MVC? , но предоставленный ответ был не совсем тем, что мне требовалось.

Что я хочу сделать, так это то, что я хочу вернуть представление, но я бы хотел вызвать / вызвать событие javascript / jquery.Например, в моем контроллере:

 public ActionResult List()
    {
        // do some processing
        // Call the javascript/jquery event            

        return this.View();
    }

Теперь я попытался использовать сумку вида, например:

 public ActionResult List()
    {

        ViewBag.MovePanel = "yes";
        return this.View();
    }

Тогда в моем представлении я получил нечто вроде:

<input type="hidden" name="move" id="move" value="<%: (string)ViewBag.MovePanel %>" />
<script type="text/javascript">
$('#move').change(function () {
    console.log('changed');
});

Значение устанавливается на «да», но событие «изменение» никогда не запускается.

Как мне добиться того, что я пытаюсь сделать?

Редактировать: После комментария Дарина вот то, чего я пытаюсь достичь.Мы пытаемся создать форму карусели, похожую на изображение карусели.Итак, я хочу контролировать, отображается ли следующая форма.

Например, типичный рабочий процесс будет выглядеть примерно так:

  1. Скажем, я нахожусь в первой форме, которая представляет собой список элементов.Я выбираю и пункт и нажимаю изменить.
  2. В таком случае происходит то, что форма списка скрыта от просмотра (но не закрыта), и форма редактирования показывается пользователю.
  3. Затем пользователь вносит некоторые изменения в форму и пытается сохранить.
  4. Если ошибок проверки нет, форма редактирования закрывается и предыдущая форма списка отображается в виде.

Так эффективно, что у меня возникают проблемы с последним шагом, то есть с получением формы списка.

В более широком контексте скажите, что когда я отправил форму и произошла ошибка, я должен иметь возможность держать форму «Редактировать» в поле зрения, не закрывать ее и не показывать ранее открытый «Список»форма.

Надеюсь, это было более четкое объяснение.

Ответы [ 2 ]

0 голосов
/ 12 июля 2011

Хорошо,

Дарин был прав, дизайн был выключен.Поэтому мне пришлось «отрегулировать» все мои формы вместо того, чтобы полагаться на отправку HTML-формы.Я не хотел этого делать просто потому, что это означало бы больше работы, но после того, как я это сделал, прошло не так много времени, как я думал.

Однако мне очень помогло следующее Как читать ошибки состояния модели при возврате Json? .

0 голосов
/ 08 июля 2011

Одна вещь, о которой вы должны позаботиться, Вы не можете вызвать метод javascript (код клиента) со своей стороны сервера. (кроме выполнения толкания).

и в вашем коде значение $ ("# move") никогда не меняется. Это так же, как это значение, как «да». это сработает, если вы измените значение $ ("# move") на "yes".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...