使用 @html.actionlink将多个参数传递到控制器



我完全期望解决方案像我忘记的小细节一样简单,但是对于我的一生,我无法弄清楚我在做错了什么

动作链接:

 @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或其默认值(创建= {1/1/1001 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; }
   ...
}

相关内容

  • 没有找到相关文章