簡體   English   中英

MVC路由空參數錯誤

[英]MVC Routing Null parameters error

在“ Index頁面上,我具有指向“ Details視圖的以下鏈接:

 @Html.ActionLink("Details", "Details", new { id = item.ClubId })|

我的控制器期望一個整數:

public ActionResult Details(int ClubId)
{
    var club = _service.GetClub(ClubId);
    var model = AutoMapper.Mapper.Map<ClubViewModel>(club);
    return View(model);
}

我每次都得到這個:

參數字典包含“ MyProject.Web.Controllers.ClubsController”中方法“ System.Web.Mvc.ActionResult Details(Int32)”的非空類型“ System.Int32”的參數“ ClubId”的空條目。 可選參數必須是引用類型,可為空的類型,或者必須聲明為可選參數。 參數名稱:參數

我知道這與路由有關,但是我嘗試將UrlParameter.Optional"" ,並使ViewModel的ClubId可為空,但錯誤仍然存​​在。

如果我重新連接控制器以接受Club對象並從Index視圖傳遞item ,那么一切都很好,並且在調試中填充了ClubId ,但URL中卻留有一個非常大的參數列表。

我真的不明白這里有什么問題嗎?

您的控制器需要一個名為ClubId的參數,但您要傳遞一個名為id的參數。 他們需要匹配。

您是否嘗試過使用ClubId而不是ID?

暫無
暫無

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

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