如何使用asp-for访问viewmodel中的模型属性?

时间:2016-10-24 19:08:41

标签: asp.net asp.net-mvc asp.net-core viewmodel tag-helpers

我有这个模型

import sbt._

// ...

lazy val gulp = taskKey[Unit]("Build frontend assets")
gulp := {
  println("gulp bundle" !!)
}

compile in Compile <<= (compile in Compile).dependsOn(gulp)

我在此视图模型中实现模型

public partial class MtbWarehouse
{
    public int Idhwarehouse { get; set; }
    public string Namewh { get; set; }
}

我在视图中使用WarehouseViewModel

public class WarehouseViewModel 
{
    public MtbWarehouse Warehouse { get; set; }
    public string ListAction { get; set; } = "Index";
}

如何使用@model ViewModel.warehouseviewmodel <input type="text" asp-for="Warehouse" class="form-control" placeholder=""> 访问Namewh因为这个asp-for东西比使用

更好
asp-for

1 个答案:

答案 0 :(得分:2)

如果您在为视图模型的Namewh属性的Warehouse属性渲染输入文本元素之后,可以使用点符号来访问子属性&#39;属性。喜欢这个

<form asp-action="Index" asp-controller="Home">   
    <input type="text" asp-for="Warehouse.Namewh" />
    <input type="submit"/>
</form>

这将生成一个名为Warehouse.Namewh的输入文本元素,如果您从GET操作方法设置该属性,则会呈现该属性的值。

VS Intellisense可能仍会将此显示为红色无效。但是当执行此代码时,标记帮助程序将生成值为

的正确输入字段