URL.Action enthält eine ID beim Erstellen einer URL

Ich bin mit ASP.Net MVC. Hier mein code-Schnipsel von einem controller namens Natürlich:

public ActionResult List(int id)
{
    var viewmodel.ShowUrl = Url.Action("Show", "Course");


    ...
}

public ActionResult Show(int id)
{
  ...
}

viewmodel.ShowUrl nimmt, was der Wert des "id" - parameter. So viewmodel.ShowUrl wird "/Natürlich/Show/151" (Wert des id ist 151); ich möchte in der Lage sein, den id-Teil auf dem client, basierend auf Benutzer-Interaktion. Ich will den Wert von viewmodel.ShowUrl "/Natürlich/Anzeigen".

Dies scheint ein bug zu mir. Ich bin mir nicht zu erzählen Url.Maßnahmen, um einen id-Wert. Er tut es auf seine eigene. Wenn ich einstellen will das der id-Wert, dann würde ich etwas wie das hier tun:

var viewmodel.ShowUrl = Url.Action("Show", "Course", new {id = somevalue});

Also, wie Sie verhindern, dass MVC aus der addition der id-Wert? Ich kann fest viewmodel.ShowUrl "/Natürlich/Show", aber das scheint ein notdürftigem Lösung. Danke.

Kommentar zu dem Problem
Ich kann nicht mehr genau aber die Routedata auf ViewData und deshalb ist es vergangen. Ich denke, man kann die - Url.Aktion("Show", "Natürlich", new {}); oder leer RouteData auf ViewData - Objekt. Kommentarautor: Bart Calixto

InformationsquelleAutor der Frage Tom Schreck | 2012-04-17

Schreibe einen Kommentar