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 に答える