我真的无法理解发生了什么。 Url经理已关闭。更奇怪的是,当我将鼠标悬停在链接上时,链接路径是正确的,但是当我点击它时,inspect元素显示一个奇怪的链接顺序,我得到404错误。
悬停时:index.php?r = action / controller& id = 180"
inspect:index.php?r = action / controller& id = 180"
:index.php?ajax = grid-id& id = 180& r = action / controller
正确的是悬停的一个。点击是完全错误和奇怪的。为什么它会获得我的网格ID?我无法理解。
如何获取网格ID并将其附加到我的网址?然后使用id然后动作/控制器?!
格:
'value'=>function($data){
if (intval($data->id) ==Yii::app()->user->id){
return CHtml::link("[X]", array("action/controller","id"=>$data->pid), array('confirm' => 'Are you sure? ', 'class'=>'stat-active'));
}
....
这与此相关吗?我在其他地方有它,它们似乎工作正常。
<?php
Yii::app()->clientScript->registerScript('stat-active', "
$('#grid-id a.stat-active').live('click', function() {
$.fn.yiiGridView.update('grid-id', {
type: 'POST',
url: $(this).attr('href'),
success: function() {
$.fn.yiiGridView.update('grid-id');
}
});
return false;
});"
);
?>
[edit]全网格:
<?php
$this->widget ( 'bootstrap.widgets.TbGridView', array (
'type' => 'striped condensed',
'id'=>'grid-id',
'dataProvider' => $active,
'template' => '{items}{pager}',
'columns' => array (
array (
'name' => 'effective_to_date',
'header' => 'Effective To',
array(
'header'=>'Notes',
'type'=>'raw',
'value'=>'CHtml::link(substr($data->des, 0, 70)."...",
Yii::app()->createUrl("action/controller/details", array("id"=>$data->artid)), array("data-toggle"=>"modal","data-target"=>"#message_modal","content" => "$data->des"))',),
array(
'type'=>'raw',
'value'=>function($data){
if (intval($data->aProd->user_id) ==Yii::app()->user->user_id()){return CHtml::link("[X]", array("action/controller","id"=>$data->aId),array('confirm' => 'Are you sure? ','class'=>'stat-active'));
}
else { if(intval($data->bProd->user_id) ==Yii::app()->user->user_id()){
return CHtml::link("[X]", array("action/controller","id"=>$data->bId),array('confirm' => 'Are you sure? ','class'=>'stat-active')
);
}
}}
),
)));?>
<?php $this->beginWidget(
'bootstrap.widgets.TbModal',
array('id' => 'message_modal',
)); ?>
<script type="text/javascript">
$("a[data-toggle=modal]").click(function(){
var target = $(this).attr('data-target');
var url = $(this).attr('href');
if(url){
$(target).find(".modal-body").load(url);
}
});
</script>
<div class="modal-header" id="messages">
<p style="font-size: 18px">Notes</p>
</div>
<div class="modal-body" id="messages">
<p></p>
</div>
<?php $this->endWidget();?>
答案 0 :(得分:2)
您可能需要使用网址管理器。启用您的网址管理器表单config / main.php ..
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\S+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
这将像这样管理你的网址
index.php/controller/action/180
试试这个。我希望这会对你有所帮助
谢谢。