我有这样的动作:
public class News : System.Web.Mvc.Controller
{
public ActionResult Archive(int year)
{
/ *** /
}
}
使用这样的路线:
routes.MapRoute(
"News-Archive",
"News.mvc/Archive/{year}",
new { controller = "News", action = "Archive" }
);
我所在的网址是:
News.mvc/Archive/2008
我在这个页面上有一个这样的表格:
<form>
<select name="year">
<option value="2007">2007</option>
</select>
</form>
如果在表单中选择了“2007”,则提交表单应转到 News.mvc/Archive/2007。
这要求表单“action”属性为“News.mvc/Archive”。
但是,如果我声明这样的表格:
<form method="get" action="<%=Url.RouteUrl("News-Archive")%>">
它呈现为:
<form method="get" action="/News.mvc/Archive/2008">
有人可以让我知道我错过了什么吗?