Question

Je suis en train de créer un lien avec Url.Action , qui se termine par un #something ; Je présume qu'il ya quelque chose dans les valeurs de la route pour faire correctement, mais je ne pouvais pas trouver avec Google.

Jusqu'à présent, j'ai essayé Url.Action("action", "controller", new {id="something", Area="area"}). Le lien résultant est prévu / action / contrôleur /, mais je ne peux pas virer de bord le #something à la fin.

Url-sage, je pourrais probablement se contenter de dire <a href="<%= Url.Action(..) %>#something"> mais cela ne me paraît pas particulièrement agréable; Je suis à la recherche d'une meilleure solution.

Était-ce utile?

La solution

Il n'y a pas de surcharge de la méthode Url.Action() qui fait cela pour vous. Ether vous devrez le faire de la manière que vous proposez (en ajoutant simplement après l'appel à Url.Action()) ou créer votre propre méthode d'extension.

Votre méthode d'extension peut ressembler à ceci:

public static MvcHtmlString Action(this UrlHelper urlHelper, string action, string controller, string hash)
{
    return string.Format("{0}#{1}", urlHelper.Action(action, controller), hash);
}

Autres conseils

Vous devez utiliser l'une des méthodes de LinkExtensions.ActionLink. La documentation se trouve ici: http://msdn.microsoft.com /en-us/library/system.web.mvc.html.linkextensions.actionlink.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top