Har fundet en løsning så læs længere nede.Jeg får en fejl nu når jeg afvikler den, hvilket var hvad jeg var bange for
The current request for action 'Show' on controller type 'MinController' is ambiguous between the following action methods:
System.Web.Mvc.ActionResult Show() on type Testproject.Controllers.MinController
System.Web.Mvc.ActionResult Show(SinglePerson) on type Testproject.Controllers.MinController
Derfor jeg ville have at det skulle indlægges i samme action.
Tror jeg
har fundet en løsning, men det er uden rigtigt at teste det med ovenstående så det er meget simpelt. Men vil da lige dele det med jer andre, og når jeg endeligt får det løst så kan det være jeg fikser eksempelet herunder.
1) Højreklikkede på View og sagde Add new view. Døbte dette "
EmptyViewForTheTest".
2) Jeg tilføjede "string isthisinput" som input i metoden
- public ActionResult TheTest(string isthisinput)
- {
- if (isthisinput == null)
- return View("EmptyViewForTheTest");
- SinglePerson single = new SinglePerson() {FirstName = isthisinput, LastName = "Mayer"}
- return View(single)
- }
3) Kom i tanke om at default er det id, så gik ind i global.asax og lavede en ny route og udkommenterede den default:
- routes.MapRoute(
- "Default", // Route name
- "{controller}/{action}/[b]{isthisinput}[/b]", // URL with parameters
- new { controller = "Home", action = "Index", [b]isthisinput[/b] = UrlParameter.Optional } // Parameter defaults
- );
Nu kan jeg få den til at vise "EmptyViewForTheTest" når jeg starter, og hvis jeg tilføjer "/HelloThere", så kommer jeg til mit andet "gamle" view jeg havde. Det er fedt!
Indlæg senest redigeret d. 15.07.2012 19:34 af Bruger #17215