Creo que ya le pregunté esto, pero la solución realmente no tenía sentido. De todos modos, tengo ActionLinks sobre mis puntos de vista así:mvc route actionlinklink url use name en lugar de id
foreach(var item in Model){
<%: Html.ActionLink(item.Name, "Details", new {id = item.Id}) %>
}
ahora, cuando se va a mi Información de la acción, obviamente, esta será la url
/MyThings/Details/{id}
Me preguntaba si es posible mostrar la nombre de ese elemento en lugar de la identificación ¿Usar una babosa? o modificar el GLOBAL.ASAX así:
/MyThings/Details/CarKeys
La cosa es que los nombres tienen que ser único, ¿hay alguna manera de modificar el GLOBAL.ASAX para mostrar el nombre en lugar del ello?
¡Cualquier consejo es muy apreciado!
sí, pero ¿esto tendrá que cambiar las consultas que llega al controlador correcto? por lo tanto, de Public ActionResult Details (int id) a public ActionResult Deatils (nombre de cadena). Estaba tratando de evitar eso, pero si no hay ninguna opción, entonces supongo que ese es el camino a seguir. – gdubs
Depende. ¿El parámetro '{id}' de su controlador espera un nombre? si es así, simplemente 'nuevo {id = item.Name}' – Buildstarted
@gdubs: Sí, si vas a identificar cosas por su nombre, obviamente necesitarás usar una consulta diferente a la que estás identificando por su ID. Hay algunos trucos de enlace avanzados que puede utilizar para evitar esto, pero yo diría que debería hacerlo simple. Si desea la conveniencia de la ID, pero también desea incluir el nombre para que se vea bien, simplemente incluya ambos, como Malevolence, señalando. – StriplingWarrior