I use ActionLink in my MVC4 website as follows:
@Html.ActionLink("home", result: MVC.Home.Index())
after redirect, the url comes in the "www.mysite.com/home/index" form.
How can I prevent showing "home/index" or "index" in url??
You are seeing index in url because html.actionlink generates tag with href home/index. Instead of using helper html.actionlink use tag directly with href as home and have a default route which routes to index. But in this case you might loose the ability to route correctly when deployed in virtual directory.
You have to supply defaults to the corresponding route in your route configuration like so:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(name: "Default", url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}