【问题标题】:Yii renderPartial index view redirects when page changesYii renderPartial 索引视图在页面更改时重定向
【发布时间】:2016-05-19 23:22:45
【问题描述】:

所以我想在我的站点/索引页面内的 div 中部分呈现另一个控制器的索引页面(控制器的名称是 ObavjestenjaController)。我在另一个控制器中定义了 actionIndexPartial,它看起来像这样:

public function actionIndexPartial()
{
    $dataProvider=new CActiveDataProvider('Obavjestenja', array(
        'pagination' => array('pageSize'=>3,),
    ));
    $this->renderPartial('index',array(
        'dataProvider'=>$dataProvider,
    ));
}

在我的网站/索引中,我有这个 div:

<div id="obavjestenjadiv">
    <?php
        Yii::app()->runController('Obavjestenja/indexPartial');
    ?>
</div>

并且页面显示在所需的div中。失败的是从 CListView 进行页面交换。默认情况下,当我更改为第二页时,它希望将我重定向到 obavjestenja/index&Obavjestenja_page=2 页面,但我希望保持在同一页面(站点/索引)中,并且页面在 div 中正确更改。我怎样才能做到这一点?

编辑: 默认情况下,AJAX 将我重定向到那里。我通过在此处创建自定义 CListView 小部件来编辑站点/索引中的 div,为它提供来自相应模型的 dataProvider 并在其中显示结果。像魅力一样工作。

站点/索引 div:

<?php 
    $dataProvider = new CActiveDataProvider('Obavjestenja', array(
        'pagination' => array('pageSize'=>3,),
    ));
    $this->widget('zii.widgets.CListView', array(
        'dataProvider'=>$dataProvider,
        'itemView'=>'//obavjestenja/_view',
    )); 
?>

唯一的是,当 AJAX 刷新 CListView 时,它会将我返回到页面顶部。我可以避免这种情况吗?谢谢,希望我的解决方案能帮到你。

【问题讨论】:

    标签: javascript php ajax yii


    【解决方案1】:

    在您的站点/索引中尝试使用 RenderPartial 而不是 RunController。

    &lt;div&gt; 标签之间使用下面的代码。

    $this->renderPartial('//Obavjestenja/indexPartial');
    

    这是完整的代码

    <div id="obavjestenjadiv">
    <?php $this->renderPartial('//Obavjestenja/indexPartial'); ?>
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-28
      • 2020-11-05
      相关资源
      最近更新 更多