Sto usando ASP.Net MVC. Ecco il mio frammenti di codice da un corso chiamato regolatore:URL.Action include id quando si costruisce l'URL
public ActionResult List(int id)
{
var viewmodel.ShowUrl = Url.Action("Show", "Course");
...
}
public ActionResult Show(int id)
{
...
}
viewmodel.ShowUrl raccoglie qualunque sia il valore è del parametro "id". Quindi viewmodel.ShowUrl diventa "/ Course/Show/151" (il valore di id è 151); Voglio essere in grado di impostare la parte id sul client in base all'interazione dell'utente. Voglio che il valore di viewmodel.ShowUrl sia "/ Course/Show".
Questo mi sembra un insetto. Non sto dicendo Url.Azione per includere un valore id. Lo sta facendo da solo. Se voglio impostare il valore id quindi vorrei fare qualcosa di simile:
var viewmodel.ShowUrl = Url.Action("Show", "Course", new {id = somevalue});
Quindi, come si fa a prevenire MVC di aggiungere il valore id? Posso hardcode viewmodel.ShowUrl su "/ Course/Show" ma sembra essere una soluzione kludgy. Grazie.
I cant bassino esattamente, ma la 'Routedata' è su' ViewData' e questo è il motivo per cui è passato. Penso che tu possa fare 'Url.Action (" Show "," Course ", new {});' o svuota 'RouteData' sull'oggetto' ViewData'. –