我在ASP.NET MVC3测试应用程序中有以下WebGrid。它显示客户列表:
@grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns
(
grid.Column(format: (item) => Html.ActionLink("Edit", "Details", new { id = item.id })),
grid.Column("Address.CompanyName"),
grid.Column("Address.City")
)
)
这里有趣的部分是我在第一列中添加的“编辑链接”。我想使用客户账号代替普通的“编辑”文本。但是,这样做给我带来了很多问题。
我已经尝试过:
grid.Column(format: (item) => Html.ActionLink(item.AccountNumber.ToString(), "Details", new { id = item.id })),
然而,似乎有些地方我没有理解它的工作原理,因为我一直遇到这个异常:
CS1502: The best overloaded method match for 'System.Web.Helpers.WebGrid.Column(string, string, System.Func<dynamic,object>, string, bool)' has some invalid arguments
有谁能解释一下为什么这行代码没有生效?除了拼写之外,“Edit”和item.AccountNumber.ToString()
之间有什么区别?
需要指出的是,使用“Edit”文本时链接可正常工作,而AccountNumber
是一个长整型。