可选的 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 都将被视为相同。