@ Html.DisplayName未正确显示EmailAddress

时间:2013-04-10 16:25:22

标签: asp.net-mvc c#-4.0 model-view-controller asp.net-mvc-4 asp.net-mvc-views

我试图像这样显示

var value = "Kartheek@gmail.com"

@Html.DisplayName(value)

结果是:仅限com。

为什么呢?在这种情况下必须使用什么

我在这里解释更多

我的目的是用网格显示非常通用的内容。

public class Grid
{
    private  Type type { get; set; }

    public Grid(IEnumerable datasource)
    {
        if (datasource == null)
        {
            throw new ArgumentNullException("datasource");
        }

        this.type = datasource.GetType().GetGenericArguments().Single();
        this.Data = datasource;
    }

    public IEnumerable Data { get; set; }

    public IEnumerable<System.Reflection.PropertyInfo> Props
    {
        get
        {
            return this.type.GetProperties().AsEnumerable();
        }
    }
}

这是我的网格c#类。我正在将值分配给Grid.data和viewbag我发送网格数据进行查看然后我在部分视图中使用它

这里是我的部分视图代码

  @if (Model != null)
{
    <table style="width: 100%">
        <thead>
            <tr>
                @foreach (var col in Model.Props)
                {

                    <th>@Html.Label(col.Name)</th>

                }
            </tr>
        </thead>
        <tbody>
            @foreach (var item in Model.Data)
            {
                <tr>
                    @foreach (var prop in Model.Props)
                    {
                        var val = prop.GetValue(item, null).ToString();
                        <td>@Html.DisplayName(val)</td>

                    }
                    </tr>
                }
            </tbody>



    </table>
}

最后我得到了答案..但我不满意bcz还有另一个很好的解决方案。

var val = "kartheek@gmail.com";
    <span>@val</span>

0 个答案:

没有答案