0

我正在使用 asp.net 创建一个网站。
我首先创建了一些模型,这是其中之一:

public class User
{
    [Key]
    public int UserID { get; set; }
    public string UserName { get; set; }
    public string Password { get; set; }
    public virtual ICollection<Subscription> Subscriptions { get; set; }
}

然后我创建了一些强类型视图,其中一个看起来像这样:

@model IEnumerable<Liquidity_Web.Models.User>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.UserName)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Password)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.UserName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Password)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.UserID }) |
            @Html.ActionLink("Details", "Details", new { id=item.UserID }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.UserID })
        </td>
    </tr>
}
</table>

然而,这

@Html.DisplayNameFor(model => model.UserName)

会给我"UserName"看。我想"User Name"被展示(用空格分隔)。
我有一个辅助功能

public List<string> SplitHelper(string target);

但是我怎样才能在剃刀视图中使用它呢?我试过

@Html.DisplayNameFor(model => StringSplit(model.UserName))

,但它不起作用..
我也觉得分隔字符串不应该是视图的责任。但是我应该在哪里以及如何做到这一点?

4

1 回答 1

4

如果您像这样使用数据注释,它可能会容易得多-

[DisplayName("User name")]
public string UserName { get; set; }

@Html.LabelFor(model => model.UserName)
@Html.DisplayFor(model => model.UserName)
于 2013-06-21T14:47:47.353 回答