编辑GridModel中的链接(MVCContrib)

Duc*_*tal 5 asp.net-mvc grid model mvccontrib html.actionlink

MvcContrib GridModel:是否可以在GridModel中执行ActionSyntax 我已经阅读了这篇文章,它非常有用,但我无法应用它.我不知道在最新的MVCContrib中,他们删除了".Action()",因为我无法访问它.

有没有我可以将编辑链接的ActionLink放入网格模型中?

谢谢

And*_*rew 4

看来旧的方法已经被删除了。

\n\n

现在介绍如何执行此操作:

\n\n

网络

\n\n

首先,通过构造函数将 Html 对象传递到 gridmodel 类中,然后您可以在 gridmodel 类中使用它。

\n\n
Imports MvcContrib.UI.Grid\n\nPublic Class PersonGridModel\n    Inherits GridModel(Of Person)\n\n    Public Sub New(ByVal html as HtmlHelper)\n        Column.For(Function(u) html.ActionLink("Edit", "Edit", "Person", New With {.id = u.PersonId}, Nothing)).DoNotEncode()\n    End Sub\nEnd Class\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后,在您看来,您通过构造函数传递它:

\n\n
<%=Html.Grid(Model).WithModel(New MemberRetentionTrackingSystem.InboundCallGridViewModel(Html))%>\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

C#

\n\n

网格模型:

\n\n
public class PersonGridModel : GridModel {\n    public PersonGridModel(HtmlHelper html) {\n        Column.For(u => html.ActionLink(\xe2\x80\x9cEdit\xe2\x80\x9d, \xe2\x80\x9cEdit\xe2\x80\x9d, \xe2\x80\x9cPerson\xe2\x80\x9d)).DoNotEncode();\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

看法:

\n\n
< %= Html.Grid(ViewData.Model).WithModel(new PersonGridModel(Html)) %>\n
Run Code Online (Sandbox Code Playgroud)\n\n

参考:http://www.jeremyskinner.co.uk/2009/02/22/rewriting-the-mvccontrib-grid-part-2-new-syntax/(参见Amitabh 的评论

\n