Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Html.actionlink is not generating correct url

My route in global.asax in like this-

 routes.MapRoute(
            "History", // Route name
            "{controller}/{PageID}/{LanguageID}/{PreviousRevisionID}/{NewRevisionID}", // URL with parameters
            new { controller = "UserArea", action = "Index", PageID = 0, LanguageID = 0, PreviousRevisionID = 0, NewRevisionID = 0} // Parameter defaults
        );

I am using Html.actionLink to make url Like this.

@Html.ActionLink(item.CreatedTS.ToString(), "Index", new { PageID = item.PageID ,LanguageID = item.LanguageID , PreviousRevisionID = item.PreviousRevisionID , NewRevisionID = item.NewRevisionID , controller = "History" });

But the url generate like This

http://localhost:2582/History?PageID=2&LanguageID=3&PreviousRevisionID=98&NewRevisionID=103

But I want url Like this

http://localhost:2582/History/2/3/98/103

Where is the problem

like image 626
user1006544 Avatar asked May 12 '26 20:05

user1006544


1 Answers

Use RouteLink instead of ActionLink:

@Html.RouteLink(item.CreatedTS.ToString(), "History", new { PageID = item.PageID ,LanguageID = item.LanguageID , PreviousRevisionID = item.PreviousRevisionID , NewRevisionID = item.NewRevisionID , controller = "History" });

For the differences see this SO question.

like image 76
nemesv Avatar answered May 19 '26 03:05

nemesv



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!