RedirectToAction с параметром

Поведение setInterval по умолчанию - это привязка к глобальному контексту. Вы можете вызвать функцию-член, сохранив копию текущего контекста. Внутри retrieve_rate переменная this будет правильно привязана к исходному контексту. Вот как выглядит ваш код:

var self = this;
this.intervalID = setInterval(
    function() { self.retrieve_rate(); },
    this.INTERVAL);

Бонусный совет: для простой ссылки на функцию (в отличие от ссылки на объект, которая имеет функцию-член) вы можете изменить контекст с помощью JavaScript call или apply.

524
задан Keerthi 13 February 2018 в 12:46
поделиться

2 ответа

Ответ Курта должен быть правильным, исходя из моих исследований, но когда я попробовал, мне пришлось сделать это, чтобы заставить его работать на меня:

return RedirectToAction( "Main", new RouteValueDictionary( 
    new { controller = controllerName, action = "Main", Id = Id } ) );

Если бы я не указать контроллер и действие в RouteValueDictionary , это не сработало.

Также при такой кодировке первый параметр (Action), кажется, игнорируется. Поэтому, если вы просто укажете контроллер в Dict и ожидаете, что первый параметр укажет действие, он тоже не сработает.

Если вы придете позже, попробуйте сначала ответ Курта, а если у вас все еще есть проблемы, попробуйте это один.

185
ответ дан 22 November 2019 в 22:16
поделиться

Вы можете передать идентификатор как часть параметра routeValues ​​метода RedirectToAction ().

return RedirectToAction("Action", new { id = 99 });

Это вызовет перенаправление на Site / Controller / Action / 99. Нет необходимости во временных данных или каких-либо данных просмотра.

893
ответ дан 22 November 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: