在 WebGrid.column 内的 HTML.ActionLink 中使用数据,不可能吗?
我的 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()
之间有什么区别(除了拼写)?
我应该注意到,使用“编辑”文本时该链接有效,并且 AccountNumber
很长。
I have the following WebGrid in my ASP.NET MVC3 test application. It displays a list of customers:
@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")
)
)
The interesting part here is the Edit-link I've added in the first column. I would like to use the customers account number instead of the plain "Edit"-test. However, it causes me a great deal of problems to do so.
I've tried:
grid.Column(format: (item) => Html.ActionLink(item.AccountNumber.ToString(), "Details", new { id = item.id })),
However, it seems like there is something i don't understand about how this works because i keep getting this exception:
CS1502: The best overloaded method match for 'System.Web.Helpers.WebGrid.Column(string, string, System.Func<dynamic,object>, string, bool)' has some invalid arguments
Can anyone explain to me why this isn't working? What is the difference between "Edit" and item.AccountNumber.ToString()
(apart from the spelling)?
I should note that the link works when using the "Edit"-text, and that AccountNumber
is a long.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
这是我如何处理日期的示例。
从此处。
Here is an example of how I do it with a date.
From here.
以防万一有人想知道它在 VB 中应该是什么样子,这里有一个例子:
Just in case any one was wondering about how it should look in VB here is an example:
就我而言,Derek Beattie 解决方案不起作用。
我用这个
In my case Derek Beattie solution is not working.
And I use this
我的列是在模型中生成的,其中 Html.ActionLink 似乎无法访问。所以我必须创建 href 并将其作为 MvcHtmlString 返回。这就是我最终所做的,
My columns were being generated in the Model, where Html.ActionLink seems inaccessible. So I had to create the href and return it as an MvcHtmlString. This is what I ended up doing,
我已经这样解决了
grid.Column("Id", format: (item) => Html.ActionLink((string)item.id.ToString(), "Edit", new { id = item.id }))
I have solved like this
grid.Column("Id", format: (item) => Html.ActionLink((string)item.id.ToString(), "Edit", new { id = item.id }))
我对网格使用以下代码。它对我有用。
希望这有帮助。
I use following code for grid. It working for me.
Hope this is helpful.