0

私はこのように表示しようとしています

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>
4

0 に答える 0