0

我有一个 WANchor 到另一个页面,它改变了内部路径。我还有一个函数internalPathChange()可以响应internalPathChanged()并根据内部路径调用正确的函数。

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

4

1 回答 1

1

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

在HangmanGame.C文件中可以找到一个很好的示例。您创建自己的小部件,并在这些小部件的构造函数中指定您需要的值。然后他们使用 aWt::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");
}

因此,在此示例中,HighScoresWidgetandHangmanWidget是您要向其发布值的“页面”。

于 2014-02-02T22:45:38.390 回答