在.net中显示json中的字符串颜色

时间:2016-08-25 14:47:20

标签: .net json asp.net-mvc colors

我正在使用MVC模板,我通过url从我的后端获取json并使用Json.net反序列化它。后端来自一个不同的学校项目,他们问我是否可以在.net网站上显示它,所以我这样做但是我把颜色保存为字符串所以如果我显示它只是#FFFFF,我想让它显示颜色的名称或颜色本身(或带有颜色的点)。 我从我的控制器那里得到了json:

public ActionResult About()
    {
        if (User.IsInRole("Begeleider"))
        {
            var client = new WebClient();
            var jsonLeerlingen = client.DownloadString(new Uri("http://localhost:8080/projecten/api/leerlingen"));
            var leerlingen = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<Leerling>>(jsonLeerlingen);
            var jsonEvaluaties = client.DownloadString(new Uri("http://localhost:8080/projecten/api/evaluaties"));
            var evaluaties = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<Evaluatie>>(jsonEvaluaties);
            ViewBag.Message = leerlingen;
            ViewBag.Evaluaties = evaluaties;

        }
        return View();
    }
}

这是我的.cshtml

@{
ViewBag.Title = "Evaluaties";
var evaluaties = (List<Projecten2.Domain.Evaluatie>)ViewBag.Evaluaties;}
<h2>@ViewBag.Title.</h2>
<h4>Evaluaties</h4>
<table>
    <tr>
        <th>Evaluatienummer</th>
        <th>Rijtechniekenscore</th>
        <th>Verkeerstechniekenscore</th>
        <th>Color</th>
    </tr>
    @foreach (var evaluatie in evaluaties)
    {
        <tr>
            <td>@evaluatie.evaluatieNummer</td>
            <td>@evaluatie.rijtechniekenScore</td>
            <td>@evaluatie.verkeerstechniekenScore</td>
            <td>@evaluatie.color</td>
        </tr>
    }
</table>

@evalutie.color返回#FFFFF,这是我想要以不同方式显示的内容。有什么办法怎么做?

2 个答案:

答案 0 :(得分:1)

你走了!这对我有用。如果您有疑问,请告诉我。

控制器:

public ActionResult About()
{
    // This is just to generate the Evaluaties
    List<Evaluatie> evaluaties = new List<Evaluatie>()
    {
        new Evaluatie()
        {
            evaluatieNummer = 1,
            rijtechniekenScore = 100,
            verkeerstechniekenScore = 200,
            color = "#FFFFFF"
        },
        new Evaluatie()
        {
            evaluatieNummer = 2,
            rijtechniekenScore = 200,
            verkeerstechniekenScore = 300,
            color = "#AAAAAA"
        },
        new Evaluatie()
        {
            evaluatieNummer = 3,
            rijtechniekenScore = 300,
            verkeerstechniekenScore = 400,
            color = "#CCCCCC"
        }
    };

    ViewBag.Message = "Your app description page.";
    ViewBag.Evaluaties = evaluaties;
    return View();
}

CSHTML:

@{
    ViewBag.Title = "Evaluaties";
    var evaluaties = (List<MvcApplication1.Models.Evaluatie>)ViewBag.Evaluaties;}
<h2>@ViewBag.Title.</h2>
<h4>Evaluaties</h4>
<table>
    <tr>
        <th>Evaluatienummer</th>
        <th>Rijtechniekenscore</th>
        <th>Verkeerstechniekenscore</th>
        <th>Color</th>
    </tr>
    @foreach (var evaluatie in evaluaties)
    {
        <tr>
            <td>@evaluatie.evaluatieNummer</td>
            <td>@evaluatie.rijtechniekenScore</td>
            <td>@evaluatie.verkeerstechniekenScore</td>
            <td style="color:@(evaluatie.color);">@evaluatie.color</td>
        </tr>
    }
</table>

答案 1 :(得分:0)

您可以执行此操作<td style="background-color:@(evaluatie.color);"></td>并为您的表格border=1,并且您将拥有彩色方块。