私はこのような行動をとっています:
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" }
);
私がいるURLは次のとおりです。
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">
誰かが私に欠けているものを教えてもらえますか?