1

この単純なテスト Web サイトが空のテーブルを出力する理由を誰でも見ることができます (html では、2 行 (tr) でテーブルが作成されますが、セル (td) は生成されません)。

または、それをデバッグするための最良の方法は何ですか

DebugController.cs...

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Mvc;

namespace myproject.Controllers
{
        public class type1
        {
            public String ipAddress;
            public String connectionId;
        }

        public ActionResult Debug2(string arg1)
        {
            List<dynamic> obj1 = new List<dynamic>();
            obj1.Add(new type1 {ipAddress="192.168.1.1", connectionId="123"});
            obj1.Add(new type1 {ipAddress="192.168.1.2", connectionId="345"});

            ViewBag.obj1 = obj1;

            return View();
        }
    }
}

そしてDebug2.cshtml....

@{
    Layout = null;
}   
<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="~/Scripts/jquery-1.8.2.js"></script>
    <script type="text/javascript" src="~/Scripts/jquery.signalR-1.1.3.js"></script>
    <script type="text/javascript" src="~/signalr/hubs"></script>
    @{
        var grid = new WebGrid(ViewBag.obj1);
    }
</head>
<body>
    <div>
        @grid.GetHtml()
    </div>
</body>
</html>
4

1 に答える 1

1

私はおそらくもう少し強く型付けされたものを試してみます。

また、IIRC は、WebGrid ヘルパーがそれらを取得できるように、フィールドの代わりにモデルのプロパティを使用する必要があります。

public class Type1
{
    public string IPAddress { get; set; }            
    public string ConnectionId { get; set; }
}

そしてあなたの行動で:

public ActionResult Debug2(string arg1)
{
    var model = new List<Type1>();
    model.Add(new Type1 { IPAddress = "192.168.1.1", ConnectionId = "123" });
    model.Add(new Type1 { IPAddress = "192.168.1.2", ConnectionId = "345" });
    return View(model);
}

最後に、強く型付けされたビューで:

@model IList<Type1>
@{
    Layout = null;
}   
<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="~/Scripts/jquery-1.8.2.js"></script>
    <script type="text/javascript" src="~/Scripts/jquery.signalR-1.1.3.js"></script>
    <script type="text/javascript" src="~/signalr/hubs"></script>
    @{
        var grid = new WebGrid(Model);
    }
</head>
<body>
    <div>
        @grid.GetHtml()
    </div>
</body>
</html>
于 2013-08-21T22:03:00.133 に答える