在ASP.Net MVC中合并@ Html.DisplayFor中的两个数据

时间:2017-03-15 12:27:10

标签: asp.net-mvc

我想合并这两个dislpay

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

就像这样

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

4 个答案:

答案 0 :(得分:2)

使用代码块连接名字和姓氏,然后将结果传递给DisplayFor,如下所示。

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

HTH

答案 1 :(得分:1)

简短回答,不,你不能这样做。

如果您无法从SDK修改它,请使用ViewModels,将SDK实体映射到ViewModel,并在将控制器传递给视图之前将控制器中的firstname和lastname合并在一起。

查看型号:

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

控制器:

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

    return View(model);
}

然后你可以在你的视图中执行此操作:

@model xxx.YourViewModel

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

或者,为什么不这样做?

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

答案 2 :(得分:1)

我们可以像

一样写

@ Html.DisplayFor(modelItem =&gt; item.LastName),@ Html.DisplayFor(modelItem =&gt; item.FirstName)

答案 3 :(得分:0)

您可以随时使用以下内容:

<label>@Html.Raw(string.format("{0},{1}",Model.CustomerFirstNAme,Model.CustomerLastNAme))</label>