L’identifiant n’est pas transmis au prochain contrôleur à partir du bouton de la ligne du tableau créé à l’aide de ajax

J’ai un formulaire et quand je clique sur le bouton de recherche, je veux que les données soient affichées dans le tableau sans recharger la page. Ici j’utilise ajax. J’ai réussi à afficher les lignes. Soi-disant, lorsque je clique sur un bouton de sélection dans la rangée, l’identifiant de la rangée choisie sera transmis à une autre page. Mais j’ai eu une erreur nulle parce que la valeur de l’id est null. J’ai également mis des points d’arrêt pour vérifier la valeur id et c’est null. Comme si l’identifiant n’était pas du tout passé.

$('#btnPatientSearch').on("click", function (e) { e.preventDefault(); // Prevent Default Submission $.ajax({ url: '/consultation/GetPatientLookupList', type: 'POST', data: $('#frmPatientLookup').serialize(), // it will serialize the form data dataType: 'json', //}) success: function (data) { $('.firstDL').remove(); $('.subsequentDL').remove(); var rowNo = 0; for (var i = 0; i < data.length; i++) { rowNo += 1; $("#LoadPatientLookupTable tbody").append("" + "" + rowNo + "" + "" + data[i].paid + "" + "" + data[i].pidno + "" + "" + data[i].pidno + "" + "" + data[i].pname + "" + "" + data[i].pgender + "" + "
" + ""); //"" + data[i].ToJavaScriptDate(data[i].pdob) + "" + } alert('Patient list has been loaded.'); }, error: function () { alert('Ajax Submit Failed ...'); } }); // end ajax }); // end btnPatientSearch

Ci-dessous le contrôleur de PatientMedicalInfo:

 [HttpGet()] public ActionResult PatientMedicalInfo(ssortingng paid) { PatientLookupVM Patient = new PatientLookupVM(); dynamic CurrentPatientDetailsByPtId = Patient.GetCurrentPatientDetailsByPtId(paid); Patient.LoadCurrentPatientDetails = CurrentPatientDetailsByPtId; return View(Patient); } 

J’ai aussi essayé de passer l’identifiant dans la même page, mais cela ne fonctionne pas non plus. Quelqu’un peut-il m’aider s’il vous plaît .. dites-moi ce que je fais mal?

@Url.Action() est un code de razor et est analysé sur le serveur avant d’être envoyé à la vue. Les valeurs pour les data[i].paid n’existent même pas au point.

De plus, PatientMedicalInfo() est un GET, il n’est donc pas nécessaire de générer une balise de form et votre génération de code HTML non valide en raison des atsortingbuts d’ id double id dans votre

Vous pouvez simplement générer

 '' 

puis ajoutez le script suivant pour gérer les boutons .click() événement à redirect

 var baseUrl = '@Url.Action("PatientMedicalInfo", "consultation")'; $("#LoadPatientLookupTable tbody").on('click', '.select', function() { location.href = baseUrl + '?paid=' + $(this).data('id'); });