Bottone che passa valori

ciao a tutti ho questo bottone

<?php Pjax::begin(); ?>
     <?= GridView::widget([
    'dataProvider' => $provider,
     'columns' => [
        
        'Modello',
        'Tessuto',
        'Colore',
         // ['class' => 'yii\grid\CheckboxColumn','header'=>'sel'], 
         [
        'label' => 'Vai Dettaglio',
        'format' => 'raw',
        'content' =>function($provider,$mg) { 
         return Html::a($provider['Modello'].'-'.$provider['Colore'].'-'.$provider['Tessuto'].'-'.xmg,
                 ['dett', ['mg'=>xmg,'rows'=>$provider]], ['class' => 'btn btn-success btn-xs']
                 );
        
        }
    ]
  ]
]); ?>
<?php Pjax::end(); ?>

nel controller ho questo codice:

public function actionDett($rows,$mg ){
//, [“rows”=>$rows,“mg”=>$mg]
return $this->render(‘dett’,[“rows”=>$rows,“mg”=>$mg]);
}

ogni volta che clicco sul bottone mi da errore 400 Missing required parameters: rows, mg

ho notato però questo a livello di url
index.php?r=tabmagazzini%2Fdett&1%5Bmg%5D=mag01&1%5Brows%5D%5BModello%5D=01025&1%5Brows%5D%5BColore%5D=001&1%5Brows%5D%5BTessuto%5D=7O

non dovrebbe avere gli & al posto del 1%5B ?
Grazie

Ciao,
mi pare vi sia un errore nella composizione del link.
Prova così:

Html::a('tua label', ['tabmagazzini/dett', 'rows'=>$provider, 'mg'=>'xmg',['class' => 'profile-link'])

Per quanto riguarda il carattere “%” è solo l’encoding URL effettuato dal browser.

grazie mille!