asp.net mvc - एमवीसी एचटीएमएल। पार्टिकल या एचटीएमएल। एक्शन




asp.net-mvc asp.net-mvc-partialview (2)

Html.Action या Html.Partial का उपयोग करने पर मैं अपने दिशानिर्देशों पर विचार करता हूं

Html.Partial

  1. जब आप स्थैतिक सामग्री प्रस्तुत कर रहे हों या Html.Partial उपयोग करें,
  2. यदि आप व्यूमोडेल से डेटा पास करने जा रहे हैं जिसे मुख्य दृश्य में भेजा जा रहा है

Html.Action

  1. Html.Action उपयोग करें जब आपको आंशिक दृश्य को पॉप्युलेट करने के लिए सर्वर से अतिरिक्त डेटा पुनर्प्राप्त करने की आवश्यकता होती है

असल में, यदि स्थैतिक है, तो Html.Partial() उपयोग करें। यदि गतिशील, मॉडल स्वतंत्र डेटा, Html.Action() उपयोग करें। शायद अधिक परिदृश्य हैं, लेकिन यह आपको एक अच्छा विचार देगा कि कहां / कैसे जाना है। Html.RenderPartial() और Html.RenderAction() उपरोक्त नामित कार्यों के लिए अंतर-परिवर्तनीय हैं।

मैं एएसपीएनटी एमवीसी के लिए नया हूँ इसलिए कृपया मेरे साथ भालू। मुझे एक मेनू बनाने की ज़रूरत है जो कई विचारों में दोहराए। बेहतर Html.PartialHtml.Partial या Html.PartialHtml.Partial के उद्देश्य की सेवा Html.Partial


एचटीएमएल। पार्टियल: नियंत्रक कार्रवाई को मारने के बिना पहले आंशिक दृश्य प्रस्तुत करें। देखें: आंशिक दृश्य

एचटीएमएल.एक्शन एक कंट्रोलर एक्शन कॉल करें, जो एक व्यू / आंशिक दृश्य वापस कर सकता है (या नहीं, यह एक HttpNotFound फेंक सकता है या जेसन, या अन्य चीजें लौटा सकता है)।

क्या आपके मेनू को दृश्य मॉडल की आवश्यकता है, या यह स्थिर है?

यदि यह एक स्थिर मेनू है, तो Html.Partial आपकी आवश्यकताओं के Html.Partial होगा। आंशिक दृश्य सामग्री के अंदर स्थिर मेनू सामग्री रखें और Html.Partial कॉल करें जहां आप इसे प्रस्तुत करना चाहते हैं।

यदि मेनू को व्यू मॉडल से उत्पन्न किया जा रहा है, तो आप या तो Html.Partial या Html.Action उपयोग कर सकते हैं:

Html.Partial का उपयोग कर दृश्य मॉडल को चेन करना :

public class MenuViewModel {
    // menu data goes here
}

public class GeneralViewModel : MenuViewModel {
    // general view info goes here
}

public ActionResult Index() {
    return View(new GeneralViewModel());
}

// View Code
@model GeneralViewModel
<div>@Html.Partial("_partialName", model)</div>

यहां हम दृश्य में एक पूर्ण दृश्य मॉडल पास करते हैं और दृश्य आंशिक दृश्य को आंशिक दृश्य में बंद कर देता है।

** एचटीएमएल का उपयोग कर मॉडल को अलग करना। एक्शन: **

public ActionResult Index() {
    return View(new GeneralViewModel());
}

public ActionResult MenuView() {
    return PartialView(new MenuViewModel());
}

// View Code
@model GeneralViewModel
<div>@Html.Action("MenuView")</div>

यहां दृश्य नियंत्रक कार्रवाई मेनूव्यू को कॉल करता है जो एक नया दृश्य मॉडल बनाता है और इसे आंशिक रूप से पास करता है।







asp.net-mvc-partialview