Для изучения DisplayTemplates я создал «String» DisplayTemplate, как указано ниже.Ожидается добавление слова «Hello» после строкового значения модели.Но это показывает только слово «Привет».Как мы можем это исправить?
Примечание: String.cshtml добавляется в Views \ Contact \ DisplayTemplates
public class Contact
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
CONTROLLER
public class ContactController : Controller
{
// GET: /Contact/Details/5
public ActionResult Details(int id)
{
Contact myContact = new Contact();
myContact.FirstName = "Lijo";
myContact.LastName = "Cheeran";
myContact.Age = 26;
return View(myContact);
}
}
Подробное представление
@model MyDisplayAndEditorTemplateTEST.Contact
<fieldset>
<legend>Contact</legend>
<div class="display-label" style="font-weight:bold" >FirstName</div>
<div class="display-field">
@Html.DisplayFor(model => model.FirstName)
</div>
<div class="display-label" style="font-weight:bold">LastName</div>
<div class="display-field">
@Html.DisplayFor(model => model.LastName)
</div>
<div class="display-label" style="font-weight:bold">Age</div>
<div class="display-field">
@Html.DisplayFor(model => model.Age)
</div>
Страница Partail для String DisplayTemplate (String.cshtml)
<%= Html.Encode(Model) %> Hello!
@ Darin.Для шаблона редактора я использовал @ Html.EditorFor (model => model.FirstName).Тем не менее это идет как метка, как показано ниже.Как изменить его, чтобы получить его в виде текстового поля?
Details.cshtml
@model MyDisplayAndEditorTemplateTEST.Contact
<fieldset>
<legend>Contact</legend>
<div>FirstName</div>
<div>
@Html.EditorFor(model => model.FirstName)
</div>
<div class="display-label" style="font-weight:bold">LastName</div>
<div class="display-field">
@Html.DisplayFor(model => model.LastName)
</div>
EditorTemplate
@Model TEST
DisplayTemplate
Hello! @Model