asp.net mvc - एएसपीएनटी एमवीसी आंशिक दृश्य नियंत्रक कार्रवाई




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

जबकि आप एक ऐसी क्रिया कर सकते हैं जो आंशिक दृश्य देता है, आपको आंशिक दृश्य प्रस्तुत करने के लिए कोई कार्रवाई की आवश्यकता नहीं है। रेंडरपार्टियल आंशिक दृश्य लेता है और दिए गए मॉडल का उपयोग करके इसे प्रस्तुत करता है और वर्तमान (पैरेंट) दृश्य में प्रदान किए जाने पर डेटा देखता है।

यदि आप किसी पृष्ठ के लोड / पुनः लोड करने के लिए AJAX का उपयोग कर रहे हैं तो आप एक ऐसी आंशिक दृश्य वापस कर सकते हैं जो आंशिक दृश्य देता है। उस स्थिति में, पूर्ण दृश्य लौटने की इच्छा नहीं है क्योंकि आप केवल पृष्ठ का हिस्सा पुनः लोड करना चाहते हैं। इस मामले में आप कार्रवाई को आंशिक दृश्य वापस कर सकते हैं जो पृष्ठ के उस खंड से मेल खाता है।

मानक तंत्र

सामान्य दृश्य के भीतर आंशिक दृश्य का उपयोग करना (कोई कार्रवाई आवश्यक नहीं है)

...some html...
<% Html.RenderPartial( "Partial", Model.PartialModel ); %>
...more html..

अजाक्स तंत्र

AJAX के माध्यम से किसी पृष्ठ के भाग को पुनः लोड करना (नोट आंशिक प्रारंभिक पृष्ठ लोड में इनलाइन प्रदान किया जाता है)

...some html...
<div id="partial">
<% Html.RenderPartial( "Partial", Model.PartialModel ); %>
</div>
...more html...

<script type="text/javascript">
   $(function() {
       $('#someButton').click( function() {
           $.ajax({
              url: '/controller/action',
              data: ...some data for action...,
              dataType: 'html',
              success: function(data) {
                 $('#partial').html(data);
              },
              ...
           });
       });
   });
</script>

AJAX के लिए नियंत्रक

public ActionResult Action(...)
{
     var model = ...

     ...

     if (Request.IsAjaxRequest())
     {
          return PartialView( "Partial", model.PartialModel );
     }
     else
     {
          return View( model );
     }
}

मैं वेब ऐप विकास के लिए बहुत नया हूं और मैंने सोचा कि मैं हाल ही की तकनीक से शुरू करूंगा और इसलिए मैं एएसपीनेट के साथ-साथ एमवीसी फ्रेमवर्क को एक साथ सीखने की कोशिश कर रहा हूं। एमवीसी पेशेवरों के लिए यह शायद आपके लिए एक बहुत ही सरल सवाल है।

मेरा सवाल है कि आंशिक दृश्य में एक संबद्ध कार्रवाई होनी चाहिए, और यदि हां, तो क्या यह कार्रवाई आंशिक दृश्य पर जब भी एक सामान्य पृष्ठ RenderPartial() का उपयोग करता है, तो क्या यह क्रिया लागू होती है?


जवाब न है। लेकिन कभी-कभी आपको आंशिक दृश्य के पीछे कुछ नियंत्रक कार्रवाई की आवश्यकता होती है। फिर आप एक क्रियाशील विधि बना सकते हैं जो आंशिक दृश्य देता है। यह क्रिया विधि किसी अन्य दृश्य में कॉल की जा सकती है:

@Html.Action("StockWarningsPartial", "Stores")

एक्शनमेड इस तरह दिख सकता है:

public ActionResult StockWarningsPartial()
{
      ....              
      return View("StockWarningsPartial", warnings);

}

और दृश्य 'StockWarningsPartial.cshtml' के साथ शुरू होता है:

@{
    Layout = null;
}

इसे अपने आस-पास के लेआउट को दोबारा प्रस्तुत करने के लिए।


स्वीकार्य उत्तर पूरी तरह से सही है, लेकिन मैं जोड़ना चाहता हूं कि आप jQuery लोड का उपयोग करके अपना आंशिक दृश्य लोड कर सकते हैं। कम कॉन्फ़िगरेशन की आवश्यकता है, अगर आप सहमति पर विचार नहीं करना चाहते हैं।

$("#Your-Container").load("/controller/action/id");




html.renderpartial