0

我有一个显示行表的操作/视图脚本,并且每一行都是可点击的:我希望此操作用该行的更多详细信息更新特定的 div。但是,当我这样做时,原始表会丢失(视图已清除)如何获得呈现特定脚本但不影响默认布局容器的操作?( layout->content() 在这种情况下) 注意:我可以使用 _forward() 或类似的,但我想知道是否有更优雅的解决方案。

我的控制器详细信息操作如下所示

public function detailAction()
{
    // action body
$clientModel = new Model_Clients();
$id = $this->_request->getParam('id');

// get the specific row by 'id'
try {
    $result = $clientModel->getClient($id);
    $this->view->result = $result;
} catch (Exception $e) {
    echo 'Error: ',  $e->getMessage(), "\n";
    //die();
}

$this->render('detail', 'mainContentRight');
//$this->listAction(); !This doesnt work!
$this->_forward('list'); // Nasty, but works.

}

'detail' 指的是这个动作的视图脚本(似乎是多余的),'mainContentRight' 是要更新的目标布局元素。

我认为我错过了视图脚本中的一个重要点,欢迎提出任何建议。

4

1 回答 1

0

转发后,您仍然需要与 listAction 中相同的表数据。然后应该正确呈现表格,但我认为这里更好的方法是使用 AJAX 加载详细信息。

于 2014-01-28T21:59:36.860 回答