可选的 URI 参数和默认值
你可以通过向路由参数添加问号来使 URI 参数可选。你还可以使用 form parameter = value 指定默认值。
public class BooksController : Controller
{
// eg: /books
// eg: /books/1430210079
[Route(“books/{isbn?}”)]
public ActionResult View(string isbn)
{
if (!String.IsNullOrEmpty(isbn))
{
return View(`OneBook`, GetBook(isbn));
}
return View(`AllBooks`, GetBooks());
}
// eg: /books/lang
// eg: /books/lang/en
// eg: /books/lang/he
[Route(“books/lang/{lang=en}”)]
public ActionResult ViewByLanguage(string lang)
{
return View(`OneBook`, GetBooksByLanguage(lang));
}
在此示例中,/ books 和/ books / 1430210079 都将路由到查看操作,前者将列出所有书籍,后者将列出特定书籍。 / books / lang 和/ books / lang / en 都将被视为相同。