/ / GridModel (MVCContrib) में लिंक संपादित करें - asp.net-mvc, मॉडल, ग्रिड, mvccontrib, html.actionlink

ग्रिडमोडेल (एमवीसीसीओन्ट्रिब) में लिंक संपादित करें - asp.net-mvc, मॉडल, ग्रिड, mvccontrib, html.actionlink

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

क्या कोई है जो मैं एडिट लिंक के एक्शनलिंक को ग्रिड मॉडल में डाल सकता हूँ?

धन्यवाद

उत्तर:

उत्तर № 1 के लिए 4

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

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

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


उत्तर № 2 के लिए 1

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


जवाब के लिए 0 № 3

सबसे पहले, बड़ा धन्यवाद @ अपने जवाब के लिए कहा: अमिताभ का सवाल तथा स्किनर का जवाब वास्तव में मेरी शंका का समाधान किया। वैसे भी 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;

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