2014-04-17 150 views
1

看起來鏈接的順序不正確,我找不到原因。我在其他網格中,它們似乎沒有問題。cgridview中的鏈接顯示不正確

這就是鏈接顯示:

  • 的index.php AJAX = gridID & ID = 180 & R =控制器/動作

當它想表明:

  • index.php?r =控制器/動作& id = 180

這是我在GridView控件值:

'value'=>function($data,$row){ 
    if (intval($data->sid) ==$someID){ 
     if($data->accept == "ACCEPTED") 
      return CHtml::Link("[X]", array("controller/action","id"=>$data->id), 
      array('confirm' => 'Are you sure?', 
      'class'=>'stat') 
    ); 
} 

其中電網是假設在確認刷新:

<?php 
Yii::app()->clientScript->registerScript('stat', " 
    $('#gridId a.stat').live('click', function() { 
      $.fn.yiiGridView.update('gridId', { 
        type: 'POST', 
        url: $(this).attr('href'), 
        success: function() { 
        $.fn.yiiGridView.update('gridId'); 

        } 
      }); 
      return false; 
    });" 
); 
?> 
+0

看起來不錯,問題是了CHtml ::鏈接生成該鏈接或$ .fn.yiiGridView – Alex

+0

什麼是錯的這個網址是什麼? –

+0

hmm,當我在第一個if語句之前移動CHTML :: link時,它會正確顯示鏈接。 – JamAndJammies

回答

0

,如果你需要生成的 「路徑」 格式的URL(控制器/動作/ ID/180)並且沒有腳本名稱,您可以將UrlManager中的urlFormat屬性設置爲「path」並將showScriptName屬性設置爲false。看thisthis

在aplication配置文件:

'urlManager' => array(
    'urlFormat' => 'path', 
    'showScriptName' => false, 
) 
+0

我不認爲這是urlmanager問題。當我有一個正常的鏈接時,網址一直顯示ajax。 – JamAndJammies