asp.net mvc ग्रिड मोडेल में लिंक संपादित करें(MVCContrib)




asp.net-mvc model (3)

MvcContrib GridModel: क्या यह एक ग्रिड मॉडेल में ActionSyntax करना संभव है मैंने इस लेख को पढ़ा है और यह काफी उपयोगी है लेकिन मैं इसे लागू नहीं कर सकता। मुझे नहीं पता कि नवीनतम एमवीसीसी कॉन्ट्रैब में, उन्होंने "एक्शन ()" को हटा दिया क्योंकि किसी तरह मैं इसे एक्सेस नहीं कर सकता।

क्या मैं किसी ग्रिड मॉडल में एक्शनलिंक को संपादित लिंक के रूप में रख सकता हूं?

धन्यवाद


एक साइड नोट के रूप में, हाल ही में बदलाव, .DoNotEncode () अब पदावनत है, इसलिए उपयोग करें। एन्कोड (गलत)


सबसे पहले, अपने उत्तर के लिए @ एंड्रयू के लिए बड़ा धन्यवाद: अमिताभ के सवाल और स्किनर का जवाब वास्तव में मेरी शक हल किया वैसे भी ASP.NET MVC 4 के साथ मुझे यह पता लगाने की कोशिश कर रहा था कि ग्रिड मॉडल में यह काम क्यों नहीं कर रहा था:

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

क्यूं कर? क्योंकि मैं आवश्यक निर्देश का उपयोग नहीं कर रहा था:

using System.Web.Mvc.Html;

मैं केवल यह दृश्य स्टूडियो Intellisense द्वारा सुझाव का उपयोग कर रहा था:

using System.Web.Mvc;

आशा है कि किसी को भी एक ही समस्या का सामना करना पड़ में मदद करता है!


ऐसा लगता है कि पुरानी विधि को हटा दिया गया है।

यह अब कैसे करना है यह है:

VB.NET

सबसे पहले, आप एचटीएमएल ऑब्जेक्ट को कंस्ट्रक्टर के माध्यम से ग्रिडमोडेल क्लास में पास करते हैं, फिर आप इसे ग्रिडमोडेल क्लास के भीतर से इस्तेमाल कर सकते हैं।

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))%>

सी#

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/ ( अमिताभ से टिप्पणी देखें)