簡體   English   中英

ASP.NET MVC 屬性路由參數問題

[英]ASP.NET MVC Attribute routing parameter issue

我有以下代碼

public class BooksController : Controller
{
    [Route("/Books/{id?}")]
    public IActionResult Index(string id)
    {
        return View(id);
    }
}

我的問題是,當我嘗試輸入參數時,它(看起來)被視為控制器的操作,所以我不斷收到此異常。

例外

我需要有人解釋我做錯了什么。

如果你想將一些參數作為字符串傳遞給視圖,你可以像下面這樣:

public class BooksController : Controller
{
    [Route("/Books/{id?}")]
    public IActionResult Index(string id)
    {
        if (string.IsNullOrEmpty(id))
            id = "default_value";
        return View((object)id);
    }
}

如果string類型傳遞給View()調用而不轉換為object ,它將被解釋為視圖名稱。

視圖 model 數據應聲明為

@model string;
<h2>@Model</h2>

嘗試如下所示更改路線 -

[路線(“書籍”,名稱=“id”)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM