簡體   English   中英

使用@ Html.ActionLink將多個參數傳遞給控制器

[英]Using @Html.ActionLink to pass multiple parameters to controller

我完全希望解決方案像一些我忘記的小細節一樣簡單,但是對於我的一生,我無法弄清楚我在做什么錯

動作鏈接:

 @Html.ActionLink(
        linkText: "Confirm",
        actionName: "AdminVitalBitsCD",
         controllerName: "Configuration",
         routeValues: new
         {
              Title = Model.VitalBit.Title,
              Message = Model.VitalBit.Message,
              IsActive = Model.VitalBit.IsActive,
              IsPriority = Model.VitalBit.IsPriority,
              bitName = Model.VitalBit.BitType.Name,
              Created = Model.VitalBit.Created

         },
              htmlAttributes: null
       )

控制器:

[HttpGet]
public ActionResult AdminVitalBitsCD(string Title, string Message, bool IsActive, bool IsPriority, string bitName, DateTime Created)
{ 
    return View("~/Views/Configuration/AdminVitalBits.cshtml", viewModel);
}

當我單擊鏈接時,在控制器中命中了斷點,並且未引發任何錯誤。 問題在於所有參數均為null或它們的默認值(Created = {1/1/0001 12:00:00 AM})。 我會忘記一些簡單的事情嗎?

如果還有其他需要,請告訴我。 提前致謝

一個更簡單且可擴展的方法是將JSON對象發送回控制器。 您將需要創建一個等效的C#POCO類,並在控制器中使用它,但這非常簡單。

[HttpGet]
public ActionResult AdminVitalBitsCD(PocoDataClass data)
{ 
    return View("~/Views/Configuration/AdminVitalBits.cshtml", viewModel);
}

將此類添加到您的C#項目中。

public class PocoDataClass 
{
   public string Title { get; set; }
   public string Message { get; set; }
   ...
}

暫無
暫無

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

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