我在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
不显示以外,所有其他操作至少都有效。谁能告诉我我在此专栏做错了什么吗?谢谢!
答案 0 :(得分:1)
您缺少HyperlinkColumn的DataIndex:
Html.X().HyperlinkColumn()
.DataIndex("Id")
.DataIndexHref("Id")
.Text("Detail")
.HrefPattern(Url.Action("Index", "Detail"))