mvc核心,asp-for标签助手问题

时间:2017-11-20 21:34:58

标签: asp.net-mvc asp.net-core-mvc

我有一个由不同对象组成的ViewModel。在一个页面上,我注册了一个关于票证的信息,我只想让几个对象传递给我的操作,因为当我在操作中创建票证时,我需要来自对象的一些变量。添加票证后,我还需要一个导航对象。

我试图通过这样做传递对象......

<input asp-for="@Model.Riksfardtjanst" hidden="hidden" value="@Model.Riksfardtjanst" />

我也试过这个approch ......

<input asp-for="Riksfardtjanst" hidden="hidden" value="@Model.Riksfardtjanst" />

它们都不起作用,我相信它是因为我使用了html输入字段。关于如何传递我的viewmodel对象的任何建议?我不想把它们作为asp路线发送。

1 个答案:

答案 0 :(得分:0)

当你写hidden="hidden"是一个拼写错误,它代表type="hidden"或者你是否正在尝试做其他事情?

无论如何,就你的例子而言,Riksfardtjanst是来自模型的对象属性。

如果是简单类型,则可以执行以下操作:

<input asp-for="Riksfardtjanst" type="hidden" />

由于您声明它是一个对象,您必须将该对象的每个属性作为隐藏字段传递,如下所示:

<input asp-for="Riksfardtjanst.PropA" type="hidden" />
<input asp-for="Riksfardtjanst.PropB" type="hidden" />
<input asp-for="Riksfardtjanst.PropC" type="hidden" />
...

请记住,这通常不是一个好习惯。必须在服务器端验证源自客户端的所有值,因为它们很容易被操作。

让我知道它是否有帮助!