2015-02-16 5 views
0

Я переместил список ресурсов из моего представления индекса ресурсов в частичный вид _ResourceInList.Использование HTML.DisplayFor Partial View

оригинальный вид для ресурсов выглядел как этот

....<dd> 
     @Html.DisplayFor(model => model.RatePerHour) 
    </dd> 

Перемещение этого к частичному зрения я должен был вычистить линии @ Html.DisplayFor() и использовать голую @model ссылаться на данные.

@model Proj.Models.Resource 
<tr> 
    <td> 
     @Model.Name 
    </td> 
    <td> 
     @Model.Team.Name 
    </td> 
    <td> 
     @Model.EmploymentStatus.Status 
    </td> 
    <td> 
     @Model.RatePerHour 
    </td> 
    <td> 
     @Model.MaxAvailability 
    </td> 
    <td> 
     @Model.Note 
    </td> 
    <td> 
     @Html.ActionLink("Edit", "Edit", new { id = Model.ResourceID }) | 
     @Html.ActionLink("Details", "Details", new { id = Model.ResourceID }) | 
     @Html.ActionLink("Delete", "Delete", new { id = Model.ResourceID }) 
    </td> 
</tr> 

Однако Я украсил свои модели по причине, но когда я пытаюсь использовать следующие варианты он жалуется

<td> 
    @Html.DisplayFor(@Model.RatePerHour) 
</td> 

Compiler Error Message: CS0411: Аргументы типа для метода системы». Web.Mvc.Html.DisplayExtensions.DisplayFor (System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>) ' не может быть выведен из использования. Попробуйте явно указать аргументы типа .

<td> 
     @Html.DisplayFor(@Model => model.RatePerHour) 
</td> 
+0

Вы первый фрагмент 'DisplayNameFor()', но тогда вы говорите о '.DisplayFor()' - что это? (они две разные вещи) –

+1

Должно быть @ Html.DisplayFor (model => model.RatePerHour) – peterus

ответ

0

Если вы хотите, чтобы показать значение, которое нужно использовать как этот

<td> 
     @Html.DisplayFor(m => m.RatePerHour) 
</td> 

и если вы хотите, чтобы показать этикетку

<td> 
     @Html.LabelFor(m => m.RatePerHour) 
</td> 
0

я не знаю почему его работа сейчас, но решения wsa

<td> 
    @Html.DisplayFor(model => model.RatePerHour) 
</td> 

Я довольно уверен, что это было первое, что я пробовал.