【问题标题】:How can I POST some values to another page with Wt?如何使用 Wt 将一些值发布到另一个页面?
【发布时间】:2013-12-23 17:12:48
【问题描述】:

我有一个指向另一个页面的 WANchor,它改变了内部路径。我还有一个函数internalPathChange()internalPathChanged() 做出反应,并根据内部路径调用正确的函数。

如何使用 POST 将值从第一页传递到第二页?

【问题讨论】:

  • 嘿Neyuh,好问题。为了使它更好,发布一个保留相关位的 Wt 代码的框架概述,以便 Pieter 可以更新答案以显示示例将如何应用于您的帖子!最良好的祝愿。

标签: c++ post wt


【解决方案1】:

您应该使用小部件。 Wt 不知道 post 和不同 html 页面的概念。

可以在文件 HangmanGame.C 中找到一个很好的示例here。 您创建自己的小部件,并在这些小部件的构造函数中指定您需要的值。然后他们使用Wt::WStackedWidget 只显示新的“页面”。

他们使用以下代码:

void HangmanGame::handleInternalPath(const std::string &internalPath)
{
  if (session_.login().loggedIn()) {
    if (internalPath == "/play")
      showGame();
    else if (internalPath == "/highscores")
      showHighScores();
    else
      WApplication::instance()->setInternalPath("/play",  true);
  }
}

void HangmanGame::showHighScores()
{
  if (!scores_)
    scores_ = new HighScoresWidget(&session_, mainStack_);

  mainStack_->setCurrentWidget(scores_);
  scores_->update();

  backToGameAnchor_->removeStyleClass("selected-link");
  scoresAnchor_->addStyleClass("selected-link");
}

void HangmanGame::showGame()
{
  if (!game_) {
    game_ = new HangmanWidget(session_.userName(), mainStack_);
    game_->scoreUpdated().connect(&session_, &Session::addToScore);
  }

  mainStack_->setCurrentWidget(game_);

  backToGameAnchor_->addStyleClass("selected-link");
  scoresAnchor_->removeStyleClass("selected-link");
}

因此,在本例中,HighScoresWidgetHangmanWidget 是您要发布值的“页面”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 2016-04-05
    • 2015-05-05
    • 2023-03-24
    相关资源
    最近更新 更多