2014-04-17 84 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