J'ai un requirment pour invoquer une méthode de contrôleur de la page de vue. Au clic du lien ci-dessous la méthode devrait être invoquée.Une nouvelle fenêtre s'ouvre sur le clic d'actionLink
@Html.ActionLink(item.InvoiceNumber, "SendPdfStatement", "Invoice",
new { item.InvoiceNumber }, new { target = "_blank" })
la signature de la méthode est que:
public void SendPdfStatement(string InvoiceNumber)
{
InvoiceNumber = InvoiceNumber.Trim();
ObjectParameter[] parameters = new ObjectParameter[1];
parameters[0] = new ObjectParameter("InvoiceNumber", InvoiceNumber);
List<Models.Statement> list = new List<Models.Statement>();
list = _db.ExecuteFunction<Models.Statement>("uspInvoiceStatement", parameters).ToList<Models.Statement>();
var statementResult = _db.ExecuteFunction<Models.Statement>("uspInvoiceStatement", parameters);
Models.Statement statement = statementResult.SingleOrDefault();
pdfStatementController.WriteInTemplate(statement);
}
maintenant le problème est quand je clique sur le lien, une fenêtre vide apparaît. Je sais que c'est quelque chose avec new { target = "_blank" }
. Si je passe null
à sa place ma page avec le lien devient vide. Que dois-je passer ici pour que ma page reste telle quelle et qu'aucune nouvelle fenêtre vide n'apparaisse également.
Le problème est dans votre méthode de contrôleur, pas dans cette invocation d'aide html.Il semble que votre méthode retourne un résultat vide. Vous devriez nous montrer le code manquant. D'ailleurs, votre méthode devrait s'appeler 'SendPdfStatement', dans une classe' InvoiceController'. Êtes-vous sûr de vérifier le bon? –
la méthode s'appelle SendPdfStatement uniquement dans InvoiceController. Ont mis le code de détail pour la méthode – 14578446