Ext.NET HyperlinkColumn不显示

时间:2018-09-26 19:15:17

标签: c# asp.net-mvc razor ext.net

我在HyperlinkColumn中有一个GridView,其代码如下:

Html.X().GridPanel().ID("MyId")
    .View(Html.X().GridView().StripeRows(false))

        .Store(Html.X().Store().AutoLoad(true)
            .Model(Html.X().Model().Fields(
                new ModelField("Name", ModelFieldType.String),
                new ModelField("Id", ModelFieldType.Int)))
            .Proxy(Html.X().AjaxProxy()
                .Url(Url.Action("GetItems", "Home"))
            .Reader(Html.X().JsonReader().RootProperty("data").ReadRecordsOnFailure(false))))

        .ColumnModel(
            x.Column().DataIndex("Name"),
            x.HyperlinkColumn().DataIndexHref("Id").Text("Detail")
                .HrefPattern(Url.Action("Index", "Detail")))

这是我的控制器:

public ActionResult Index()
{
    var viewModel = MyFactory.Create();
    return View(viewModel);
}

public ActionResult GetItems()
{
    var test = new Item {Name = "Test dashboard", Id = 42};
    return new StoreResult(new List<Item>() {test});
}

除了HyperlinkColumn不显示以外,所有其他操作至少都有效。谁能告诉我我在此专栏做错了什么吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您缺少HyperlinkColumn的DataIndex:

Html.X().HyperlinkColumn()
    .DataIndex("Id")
    .DataIndexHref("Id")
    .Text("Detail")
    .HrefPattern(Url.Action("Index", "Detail"))