質問

MvcContrib GridModel:ことはできないActionSyntaxにGridModel 私は記事を読んで非常に有用なだけ適用します。わからない場合は最新のMVCContribて削除され、".アクション()"が何らかのアクセスできません。

あばることができるActionLinkの編集リンクグリッドモデルかどうかを示します。

役に立ちましたか?

解決

この方法では削除されている。

こちらはどのような現

VB.NET

まずはHtmlオブジェクトのgridmodelクラスのコンストラクタを利用することができまからのgridmodelクラスです。

Imports MvcContrib.UI.Grid

Public Class PersonGridModel
    Inherits GridModel(Of Person)

    Public Sub New(ByVal html as HtmlHelper)
        Column.For(Function(u) html.ActionLink("Edit", "Edit", "Person", New With {.id = u.PersonId}, Nothing)).DoNotEncode()
    End Sub
End Class

その後、お渡ししますので、コンストラクタ:

<%=Html.Grid(Model).WithModel(New MemberRetentionTrackingSystem.InboundCallGridViewModel(Html))%>

C#

GridModel:

public class PersonGridModel : GridModel {
    public PersonGridModel(HtmlHelper html) {
        Column.For(u => html.ActionLink(“Edit”, “Edit”, “Person”)).DoNotEncode();
    }
}

ビュー:

< %= Html.Grid(ViewData.Model).WithModel(new PersonGridModel(Html)) %>

参考: http://www.jeremyskinner.co.uk/2009/02/22/rewriting-the-mvccontrib-grid-part-2-new-syntax/ 参照 コメントからAmitabh)

他のヒント

は、サイドノート、より最近の変化として、.DoNotEncode()は廃止、そう.Encodeを使用している(偽)

第一に、大きま @アンドリューは彼の答え: Amitabhの質問スキナーからの回答 本当に解決は私のことだろう。とにかくとASP.NET MVC4のに苦労したことを覚えていそうとしていることをなぜこのグリッドモデルの効きが悪かったです:

Column.For(hospital => html.ActionLink("View Details", "Show", "Foo")).Encode(false);

なぜですか?なかったために必要な利用のディレクティブ

using System.Web.Mvc.Html;

またこの利用されるVisual Studioを行頭に付け:

using System.Web.Mvc;

希望ので誰でも同じ問題なし!-

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top