2010-01-18 5 views
6

Necesito presentar una URL para una búsqueda de JavaScript que estoy haciendo. Lamentablemente, Url.Action representa no solo la acción, sino también la identificación actual. Esto ocurre cuando actualmente en la página se utiliza la acción con el ID.Url.Action solo representa el controlador y la acción, pero no id

Para ilustrar Url.Action("List", "Org"); primero se mostrará Org/List desde el cual puedo agregar una organización a la lista. Sin embargo, después de que la ubicación se haya movido a Org/List/12345, Url.Action("List", "Org"); mostrará Org/List/12345 y se agregará un problema donde termino con Org/List/12345/6789.

¿Hay algún otro método que pueda usar que no sea Url.Action? He pensado en usar JavaScript para verificar el número de / y eliminar parte de la cadena, pero parece un poco hackish.

// appears in my Site.Master & utilizes the AutoComplete plugin for jQuery 
$(document).ready(function() { 
    $("input#FindOrg").autocomplete('<%= Url.Action("Find", "Org") %>', { 
     minChars: 3, 
     maxItemsToShow: 25 
    }).result(function(evt, data, formatted) { 
     var url = '<%= Url.Action("List", "Org") %>/'; 
     window.location.href = url + data; 
    }); 
}); 

Respuesta

12

par de sugerencias:

¿Qué ocurre si se utiliza Url.Action("Find", "Org", new { id = "" })?

Como alternativa, intente construir manualmente la url con Url.Content("~/Find/Org").

+0

'Url.Action (" Buscar "," Org ", nuevo {id =" "})' hizo el truco. ¡Debería haber sido tan obvio! – ahsteele

+0

Agradable. No lo había probado por mí mismo, así que no estaba seguro, pero usa el enrutamiento internamente, así que pensé que podría anular el comportamiento que estaba causando que capturara el ID actual. – womp

0

Podría 'engañar' y acceder a las entradas 'Controlador' y 'Acción' en el Diccionario de enrutamiento. Esto luego le permitiría construir solo la parte de la url que necesita. La única advertencia es que si cambia su modelo de enrutamiento, estas rutinas pueden volverse incorrectas.

Cuestiones relacionadas