5

我正在尝试获取完整的 URL,但RouteUrl返回的是空的。

在视图中,我是这样称呼的:

alert('@Url.RouteUrl("Api", new { controller = "Parametros", id = "" })');

这是我的路线配置:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapHttpRoute(
        name: "Api",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Usuario",
            action = "Login", id = UrlParameter.Optional }
    );
}

和我的控制器:

public class ParametrosController : ApiController
{
    ISistemaService _sistemaService;
    public ParametrosController(Empresa empresa, ISistemaService sistemaService)
    {
        _sistemaService = sistemaService;
    }


    public PagedDataModel<ParametroDTO> Get(
        [FromUri]ParametroFiltro filter, int page, int pageSize)
    {
        int total = 0;
        var list = _sistemaService.Paging(filter, page, pageSize, out total);
        return new PagedDataModel<ParametroDTO>(page, pageSize, total, list);
    }

    public ParametroDTO Get(string codigo)
    {
        return _sistemaService.GetParametroPorCodigo(codigo);
    }
}
4

1 回答 1

10

添加httproute = ""routeValues

alert('@Url.RouteUrl("Api",
     new { httproute = "", controller = "Parametros", id = "" })');
于 2012-10-17T13:21:30.630 回答