MVC 3.net quiero añadir un anclaje a la final de la dirección url.

He intentado incluir un ancla de la cadena de consulta, pero el hash ‘#’ cambios a %23 o algo así en la url.

Es allí una manera de trabajar alrededor de esto?

InformationsquelleAutor DevDave | 2011-10-26

1 Comentario

  1. 36

    Hay una sobrecarga de la ActionLink ayudante que le permite especificar el fragmento:

    @Html.ActionLink(
        "Link Text",           //linkText
        "Action",              //actionName
        "Controller",          //controllerName
        null,                  //protocol
        null,                  //hostName
        "fragment",            //fragment
        new { id = "123" },    //routeValues
        null                   //htmlAttributes
    )

    va a producir (suponiendo rutas por defecto):

    <a href="/Controller/Action/123#fragment">Link Text</a>

    ACTUALIZACIÓN:

    y si quería hacer esto dentro de una acción de controlador de realizar una redirección podría utilizar el GenerateUrl método:

    public ActionResult Index()
    {
        var url = UrlHelper.GenerateUrl(
            null,
            "Action",
            "Controller",
            null,
            null,
            "fragment",
            new RouteValueDictionary(new { id = "123" }),
            Url.RouteCollection,
            Url.RequestContext,
            false
        );
        return Redirect(url);
    }
    • gracias darin. en este caso estoy usando redirigir a la acción de generar una url desde un controlador, y sólo tiene 6 sobrecargas no incluidos fragmento. alguna solución a esto?
    • En este caso, usted puede utilizar el UrlHelper.GenerateUrl método dentro de su controlador, que le permite especificar un fragmento y luego redireccionar a la url resultante. He actualizado mi post para dar un ejemplo.
    • Plz ver esta solución: stackoverflow.com/questions/10690466/…

Dejar respuesta

Please enter your comment!
Please enter your name here