2016-10-24 6 views
0

Я имею эту модельКак я могу получить доступ к собственности модели внутри viewmodel с помощью asp-for?

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

Я Реализовать модель в этой точке зрения модели

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

И я использую WarehouseViewModel ввиду

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

Как я могу получить доступ Namewh с помощью asp-for, потому что это asp-for вещь лучше, чем использование

@Html.TextBoxFor() 
+0

Что такое 'namewh'? Никогда не слышал об этом до – Shyju

+0

namewh - это свойство в модели, которое я реализую на складе viewmodel – Chris

+0

, куда вы хотите получить к нему доступ? как ? – Shyju

ответ

1

Если вы после рендеринга входного текстового элемента для свойства Namewh свойства Warehouse вашего вида модели, вы можете использовать точечную нотацию, чтобы получить доступ к свойствам дочерних объектов. Как это

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

Это создаст текстовый элемент ввода с именем Warehouse.Namewh и воздаст значение этого свойства, если установлено, что от вашего метода действия GET.

VS Intellisense все еще может показывать это как недействительный с красным цветом. Но когда этот код будет выполнен, помощник тега будет генерировать правильное поле ввода со значением

+0

Это не так. Я хочу получить доступ к хранилищу в storeviewmodel по-старому, используя @ html.textboxfor (m => m.warehouse.namewh) по-новому, я не знаю – Chris

+0

@Chris См. обновленный ответ. – Shyju

+0

хорошо работает. – Chris