c# - आंशिक दृश्य के लिए एक अलग मॉडल पास करें




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

यह करना बहुत सरल है एक HTML निर्देश है जो आंशिक दृश्य प्रस्तुत कर सकता है। निम्नलिखित कोड का नमूना है:

 @Html.Partial("nameOfPartial", Model)

अब यहां मॉडल आपके मुख्य नियंत्रक से हो सकता है।

या आप एक नया नियंत्रक कार्रवाई परिभाषित कर सकते हैं आंशिक दृश्य के रूप में वापसी प्रकार के रूप में और इसे इस तरह पृष्ठ में प्रस्तुत करने का प्रयास करें:

@{Html.RenderAction("Someaction", "somecontroller");}

मैं एक दृश्य से आंशिक दृश्य में एक अलग मॉडल पास करने की कोशिश कर रहा हूं। मेरे पास दोनों के लिए दो अलग-अलग नियंत्रक क्रियाएं हैं और दो अलग-अलग दृश्य मॉडल हैं I लेकिन जब मैं दृश्य के भीतर से आंशिक दृश्य कहता हूं तो यह मुझे त्रुटि देता है

शब्दकोश में दिया जाने वाला मॉडल आइटम 'Application.ViewModels.Model1ViewModel' के प्रकार है, लेकिन इस शब्दकोश में एक मॉडल आइटम की आवश्यकता होती है 'Application.ViewModels.PartialViewModel'।

मैं इसे इस तरह बुला रहा हूं:

 @Html.Partial("_CreateUniFunctionPartial")

दृश्य में मॉडल कॉल है

@model Application.ViewModels.Model1ViewModel

और आंशिक दृश्य फ़ाइल में मॉडल है

@model Application.ViewModels.PartialViewModel

मुझे आश्वस्त नहीं है कि आंशिक दृश्य कैसे पारित करना है, इसलिए यह इस त्रुटि को नहीं देता है

संपादित करें

आंशिक दृश्य

@model Application.ViewModels.PartialViewModel



 @using (Html.BeginForm("partialview", "ApplicationDetail", FormMethod.Post)) 
  {


<div class="form-horizontal">
    <h4>UniFunctionViewModel</h4>
    <hr />
    @Html.ValidationSummary(true)





    <div class="form-group">
        @Html.LabelFor(model => model.detail, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.TextBoxFor(model => model.detail, new { @placeholder = "Further Information" })
            @Html.ValidationMessageFor(model => model.detail)
        </div>
    </div>


</div>

}


आप सही पद्धति का उपयोग कर रहे हैं लेकिन सही तर्कों में नहीं गुजर रहे हैं

आप इसे इस तरह से आज़मा सकते हैं:

@Html.Partial("~/[path_to_root_only_if_exists]/_CreateUniFunctionPartial.cshtml", new Application.ViewModels.PartialViewModel())

यदि आप किसी मॉडल में नहीं गुजारते हैं, तो यह स्वचालित रूप से अपने माता-पिता से एक ले जाएगा, जो आपके मामले में है

Application.ViewModels.Model1ViewModel




asp.net-mvc-partialview