Asp.Net MVC: come faccio a far sì che Html.ActionLink visualizzi correttamente i valori interi?

Ho un'applicazione mvc asp.net con un corso simile a:

routes.MapRoute("Blog", 
    "{controller}/{action}/{year}/{month}/{day}/{friendlyName}",                          
    new { controller = "Blog", action = "Index", id = "", friendlyName="" }, 
    new { controller = @"[^\.]*", 
          year = @"\d{4}", 
          month = @"\d{2}", 
          day = @"\d{2}" }
);

La firma del mio metodo di attività del controller è simile a:

public ActionResult Detail(int year, int month, int day, string friendlyName)
{ // Implementation... }

A mio avviso, sto facendo qualcosa del tipo:

<%= Html.ActionLink<BlogController>(item => item.Detail(blog.PostedOn.Year, blog.PostedOn.Month, blog.PostedOn.Day, blog.Slug), blog.Title) %>

Mentre l'URL che viene generato con le funzioni ActionLink, utilizza le variabili della stringa di richiesta invece della revisione dell'URL.

Ad esempio, creerebbe sicuramente/ blog/dettaglio/il mio - slug?anno = 2008&mese = 7&giorno = 5 piuttosto che/ blog/dettaglio/05/07/2008/ il mio - slug

C'è un modo per ottenere la versione generica di ActionLink per riempire correttamente i valori interi in modo che l'URL appaia come previsto?

Grazie

Jim

5
2022-07-25 17:42:35
Fonte Condividere
Jawaban: 0