2016-10-24 16 views
0

私は、このビューモデルasp-forを使用してviewmodel内のモデルプロパティにアクセスするにはどうすればよいですか?

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

でモデルを実装

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

このモデルを持っていると私は

@model ViewModel.warehouseviewmodel 
<input type="text" asp-for="Warehouse" class="form-control" placeholder=""> 

にはどうすればasp-for理由を使用してNamewhにアクセスすることができますビューでWarehouseViewModelを使用していますこのasp-forのものは使用するよりも優れています

@Html.TextBoxFor() 
+0

「namewh」とは何ですか? – Shyju

+0

の前にそれを聞いたことがありませんnamewhは私が倉庫のビューモデルで実装しているモデルのプロパティです – Chris

+0

どこにアクセスしますか?どうやって ? – Shyju

答えて

1

ビューモデルのWarehouseプロパティのNamewhプロパティの入力テキスト要素をレンダリングした後で、ドット表記を使用して子プロパティのプロパティにアクセスできます。この

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

のようにこれは名前Warehouse.Namewhと入力テキスト要素を生成し、あなたがあなたのGETアクションメソッドからのことを設定した場合、そのプロパティの値をレンダリングします。

VSインテリセンスはこれを赤色で無効と表示することがあります。しかし、このコードが実行されると、タグヘルパーは値が正しい入力フィールドを生成します

+0

それはそうではありません。古い方法で@ html.textboxfor(m => m.warehouse.namewh)を使用して、倉庫にアクセスしたいのですが、わからない新しい方法です。 – Chris

+0

@Chris更新された回答を参照してください。 – Shyju

+0

よろしくお願いいたします。 – Chris

関連する問題