2015-12-14 2 views
0

Я только начал изучать Episerver, и у меня есть блок с 3 текстовыми полями (виртуальная строка), когда я добавляю что-то к ним, данные отображаются в таблице в представлении. Я хотел бы заполнить таблицу большим количеством данных тем же методом, но поскольку добавленное значение привязано к текстовому полю, я не знаю, что делать дальше. Я либо хочу, чтобы текстовые поля были пустыми после обратной передачи или что новые текстовые поля добавляются динамически.Episerver добавить новое виртуальное текстовое поле строки после его заполнения

Код достаточно прост.

От BlockType:

public virtual string Namn { get; set; } 

    public virtual string Innehåll { get; set; } 

    public virtual int Pris { get; set; } 

От Вид:

<table class="table"> 
    <tr> 
     <th>Namn</th> 
     <th>Innehåll</th> 
     <th>Pris</th> 
    </tr> 
    <tr>  
     <td @Html.EditAttributes(x => x.Namn)>@Html.DisplayFor(x => x.Namn)</td> 
     <td @Html.EditAttributes(x => x.Innehåll)>@Html.DisplayFor(x => x.Innehåll)</td> 
     <td @Html.EditAttributes(x => x.Pris)>@Html.DisplayFor(x => x.Pris)Kr</td> 
    </tr> 

ответ

1

Первые вещи первых, семантических причинам вы не должны использовать Aao в именах строк.

То, что вы пытаетесь сделать, не работает, даже если есть способы создания списков с использованием таких свойств, которые я не могу рекомендовать, поскольку они будут линейными. Это ужасная практика.

Я предлагаю вам использовать более простой подход вместо и обернуть таблицы в области содержимого

<table class="table"> 
    <tr> 
     <th>Namn</th> 
     <th>Innehåll</th> 
     <th>Pris</th> 
    </tr> 
    @Html.PropertyFor(x => x.YourContentArea) 
</table> 

Упростите блок немного

Переименуйте свойства ради мира во всем мире

public virtual string Name { get; set; } 
public virtual string Content { get; set; } 
public virtual int Price { get; set; } 

Заменить таблицу с этой строки в представлении блока

<tr>  
    <td @Html.EditAttributes(x => x.Name)>@Html.DisplayFor(x => x.Name)</td> 
    <td @Html.EditAttributes(x => x.Content)>@Html.DisplayFor(x => x.Content)</td> 
    <td @Html.EditAttributes(x => x.Price)>@Html.DisplayFor(x => x.Price)Kr</td> 
</tr> 

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

+0

Благодарим вас за ответ. Может быть, я просто немного глуп, но мне трудно понять это? :/Не могли бы вы подробнее рассказать немного? Благодаря! – oOMelon

Смежные вопросы