2017-03-15 2 views
1

ich diese zwei dislpay fusionieren willZusammenführen von zwei Daten in @ Html.DisplayFor in ASP.Net MVC

<td> 
     @Html.DisplayFor(modelItem => item.CustomerFirstName) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.CustomerLastName) 
    </td> 

in ähnlichen

<td> 
     @Html.DisplayFor(modelItem => item.CustomerFirstName && item.CustomerLastName) 
    </td> 
+0

Sie kann nicht. Entweder fügen Sie Ihrem View-Modell eine Eigenschaft hinzu, die beide Werte verkettet, oder setzen Sie die 2 x 'DisplayFor()' in das gleiche '' Element –

+0

Mein Modell stammt vom SDK, daher kann ich es nicht ändern –

+0

Deshalb verwenden wir View-Modelle –

Antwort

0

Sie können immer so etwas wie:

2

Verwenden Sie den Codeblock, um den Vornamen und den Nachnamen zu verketten, und übergeben Sie das Ergebnis dann an DisplayFor, wie unten gezeigt.

<tr> 
    <td> 
    @{ 
     var fullName = Model.CustomerFirstName + " " + Model.CustomerLastName; 
     @Html.DisplayFor(m=>fullName) 
    } 
    </td> 
</tr> 

HTH

0

Kurze Antwort, nein Sie das nicht können.

Wenn Sie es nicht über das SDK ändern können, verwenden Sie ViewModels, ordnen Sie den ViewModels die SDK-Entitäten zu und führen Sie Vornamen und Nachnamen in Ihrem Controller zusammen, bevor Sie sie an die Ansicht übergeben.

Ansicht Modell:

public class YourViewModel 
{ 
    public string FullName { get; set; } 
} 

Controller:

public ActionResult YourController() 
{ 
    var model = new YourViewModel { 
     FullName = FirstName + LastName //from your SDK 
    }; 

    return View(model); 
} 

Dann können Sie dies in Ihrer Ansicht:

@model xxx.YourViewModel 

@Html.DisplayFor(m => m.FullName) 

Oder warum Sie nicht einfach das tun?

<td>@Html.DisplayFor(modelItem => item.CustomerFirstName) @Html.DisplayFor(modelItem => item.CustomerLastName)</td> 
1

Wir können schreiben wie

@ Html.DisplayFor (ModelItem => item.LastName), @ Html.DisplayFor (ModelItem => item.FirstName)

Verwandte Themen