簡體   English   中英

URL.Action傳遞null,需要整數

[英]URL.Action passing null, need integer

我正在使用MVC 4和剃須刀構建一個簡單的網站。 我無法從正在填充的url.action接收整數。 我已經調試,發現id確實有一個值(id恰好是1),但是當它傳遞時,它以某種方式變為null。

視圖部分:

@if (Model.Any())
{
  foreach (var e in Model)
  {
    <a href="@Url.Action("EventDetails", "Event", new{id = e.ID})">
      <div id="eventBox">
        <!-- stuff !-->
      </div>
    </a>
  }
}

和控制器:

public ActionResult EventDetails(int? eventID)
{
     if (eventID != null)
     {
         //stuff
     }
}

我真的不知道幕后發生了什么事情,導致它變為null,我需要幫助。 我現在僅使用Visual Studio提供的默認路由:

routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

您傳遞的路由值名為id

new { id = e.ID }

因此更改方法參數名稱以使其匹配

public ActionResult EventDetails(int? id)

暫無
暫無

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

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