簡體   English   中英

ASP.NET MVC3:DisplayTemplates不顯示模型值(MVC3部分頁)

[英]ASP.NET MVC3: DisplayTemplates does not show model value (MVC3 Partial Page)

為了學習DisplayTemplates,我創建了一個“ String” DisplayTemplate,如下所示。 預計在模型的字符串值后添加單詞“ Hello”。 但是它僅顯示“ Hello”一詞。 我們如何糾正它?

注意:String.cshtml添加在Views \\ Contact \\ DisplayTemplates下

public class Contact
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

控制器

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>

字符串DisplayTemplate的Partail頁面(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>

編輯器模板

@Model TEST

顯示模板

Hello! @Model

在此處輸入圖片說明

<%= Html.Encode(Model) %> Hello! 是WebForms語法。 確保您不會混淆2個視圖引擎。 因此,將以下內容放入您的string.cshtml Razor顯示模板中:

@Model Hello!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM