2013-03-29 14 views
2

je @Html.PagedListPager(Model, page => Url.Action("GetTabData", new { page })Url.Action et deux variables

et dans mon fichier js je prêt à utiliser la variable myTab que je dois envoyer en même temps que la page dans l'exemple ci-dessus.

Comment puis-je faire cela? J'utilise la variable js pour déterminer quel onglet est cliqué par l'utilisateur et sur la base de cette valeur, je demande des données. Maintenant j'ai implémété la pagination qui utilise le lien ci-dessus généré. Avec ceci en place mon appel ajax pour envoyer activeTab est cassé, je dois envoyer cette valeur avec la page au-dessus de Url.Action.

C'est variable js que j'utilise pour envoyer sur ajax pour déterminer quel onglet est facile à utiliser, cliquez

$(function() { 
    var activeTab = null; 
    $('#tabs .tabLink').click(function (event) { 
     var activeTab = $(this).attr('href').split('-')[1]; 
     GetTabData(activeTab);   
    }); 
    GetTabData(ommitted on purpse) 

}); 
+2

Votre question n'a guère de sens. Pourriez-vous essayer de le reformuler? Quel fichier js et quelle variable 'myTab' parlez-vous? –

+0

La question @DarinDimitrov est mise à jour. – user1765862

+0

J'ai le même problème ... @ Html.PagedListPager (Modèle, page => Url.Action ("GetTabData", nouveau {page}) ... ne fera que passer la variable de la page ... nous voulons également passer un variable supplémentaire –

Répondre

0

Je ne comprends pas la question clairement, mais je prends une supposition ici. Je ne sais pas si c'est ce que vous cherchez.

Remarque - Vous avez GetTabData à la fois votre javascript ainsi que le code cshtml, j'espère que c'est juste une coïncidence, car la fonction js ne peut être invoqué par l'intermédiaire @Url.Action de cette manière.

Si vous devez envoyer deux valeurs dans le cadre de votre URL, vous pouvez le faire soit de manière RESTful, soit avec des Querystring.

Option 1 -

Url.Action("GetTabData", new { page=2, tab="blah" }) 

Votre action de commande correspondant ressemblerait

public ActionResult GetTabData(int page, string tab) 
{ 
... 
} 

Option 2 - créer une chaîne de requête et l'ajouter à l'URL

/GetTabData?page=2&tab=blah 

Dans ce cas l'action du contrôleur ressemblerait à ceci

public ActionResult GetTabData() 
{ 
    var params = Request.QueryString; 
... 
}