У меня есть следующий код CppCMS MVC:
void routing_controller()
{
this->route.username = "My name";
//this->route.debug_string = to_string(num_active); // won't work here
if(request().request_method() == "POST")
{
this->route.info.load(context());
if(this->route.info.validate())
{
if(this->route.info.num[0].value() == true)
{
this->num_active = 0;
}
else if(this->route.info.num[1].value() == true)
{
this->num_active = 1;
}
}
this->route.debug_string = to_string(num_active); // only works here
}
render("route", this->route);
}
Нажатие двух кнопок на странице влияет на переменные route.info.num[0/1].value()
, Я использую их, чтобы изменить глобальную переменную num_active
, Эта переменная преобразуется в строку и отображается на странице (просмотр).
Тем не менее, это работает только если у меня есть строка:
this->route.debug_string = to_string(num_active);
размещен ниже. Если я поместу его выше, он не будет отображаться должным образом (или num_active
не имеет правильного значения?). Может кто-нибудь сказать мне, почему это происходит? Это все равно не логично для меня.
Задача ещё не решена.
Других решений пока нет …