如何在 asp.net razor 中将 routeValues 传递给 Html.ActionLink

时间:2021-05-17 06:51:51

标签: asp.net-core razor

我们可以传递单个 int 参数,如下所示。

 @Html.ActionLink(item.RemoteAgent.Name, "Details", "RemoteAgent", new { id = item.RemoteAgent.Id })

但是如果我们想传递复杂的对象呢? 在这里可以做什么?

1 个答案:

答案 0 :(得分:0)

您可以在客户端序列化模型,然后在操作中反序列化它。这是一个演示。 型号:

public class TestModel
    {
        public string FirstName { get; set; }
        public string MiddleName { get; set; }
        public string LastName { get; set; }
    }

查看:

@{ TestModel m=new TestModel { FirstName="f1",MiddleName="m1",LastName="l1"};}
@Html.ActionLink("Index1", "Index1", "A", new { model = Json.Serialize(m)})

操作:

public IActionResult Index1(string model)
        {
            TestModel testModel = JsonConvert.DeserializeObject<TestModel>(model);

            return Ok();
        }

结果:

enter image description here