Ich habe eine Aktion wie folgt aus:ASP.NET MVC Preview 4 - Stopp Url.RouteUrl() usw. in einem der vorhandenen Parameter
public class News : System.Web.Mvc.Controller
{
public ActionResult Archive(int year)
{
/***/
}
}
eine Route wie folgt aus:
routes.MapRoute(
"News-Archive",
"News.mvc/Archive/{year}",
new { controller = "News", action = "Archive" }
);
Die URL dass ich auf ist:
News.mvc/Archive/2008
ich ein Formular auf dieser Seite wie diese:
<form>
<select name="year">
<option value="2007">2007</option>
</select>
</form>
Das Senden des Formulars sollte zu News.mvc/Archive/2007 gehen, wenn im Formular '2007' ausgewählt ist.
Dies erfordert, dass das Formular "action" -Attribut "News.mvc/Archive" lautet.
Allerdings, wenn ich ein Formular wie folgt erklären:
<form method="get" action="<%=Url.RouteUrl("News-Archive")%>">
es macht wie:
<form method="get" action="/News.mvc/Archive/2008">
Kann jemand bitte lassen Sie mich wissen, was ich bin fehlt?
Auf dem richtigen Weg. Weitere Informationen finden Sie unter Kommentare bearbeiten. –