स्पष्ट रूप से प्रकार शून्य को वस्तु में नहीं बदल सकते। .NET MVC PartialViewResult


91

मेरे पास निम्नलिखित नियंत्रक क्रिया है:

[ChildActionOnly]
public virtual PartialViewResult ListActions(int id)
{
    var actions = meetingActionRepository.GetAllMeetingActions(id);

    return PartialView(actions);
}

और निम्नलिखित कार्रवाई लिंक (t4MVC और रेजर सिंटैक्स का उपयोग करके)

<p>
   @Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId))
</p>

हालाँकि यह मुझे त्रुटि देता है:

स्पष्ट रूप से प्रकार शून्य को वस्तु में नहीं बदल सकते

जहां तक ​​मैं बता सकता हूं कि नियंत्रक कार्रवाई ठीक है, तो मुझे यह त्रुटि क्या दे सकती है?

जवाबों:


126

इस कदर:

<p>
    @Html.Action(MVC.MeetingActions.ListActions(Model.MeetingId))
</p>

या यदि आप RenderActionइस तरह से जोर देते हैं :

<p>
    @{Html.RenderAction(MVC.MeetingActions.ListActions(Model.MeetingId));}
</p>

व्यक्तिगत रूप से मैं पहले को पसंद करता हूं, कम कीस्ट्रोक्स बनाता है।


1
धन्यवाद। वहां फंकी सिंटेक्स। मुझे लगता है कि <% html के बजाय <% = Html करने का रेजर तरीका है? वैसे भी एक्शन और रेंडिनेशन में क्या अंतर है। फिल हैक का कहना है कि रेंडरएशन अधिक कुशल है?
23

2
@ डूज़र १ ९, ९, हाँ, वास्तव में, यह रेजर तरीका है।
डारिन दिमित्रोव 23

यह भी काम करता है: {Html.RenderAction (MVC.MeetingActions.ListActions (Model.MeetingId));}, इसलिए @ का उपयोग करना आवश्यक नहीं है।
FrenkyB


36

मेरी भी यही समस्या थी। मेरे लिए जो काम किया है वह अभिव्यक्ति को घुंघराले कोष्ठक में संलग्न करना है

@{Html.RenderPartial("viewName", Model);}


इसने मेरे लिए काम किया, हालांकि मुझे नहीं पता कि कर्लिंग ब्रैकेट्स को जोड़ना क्यों काम करेगा। क्या आप इसे विस्तार में बताने में सक्षम हैं?
ब्रैड थिएसेन

1
@BradThiessen यह काम करता है क्योंकि ASP.NET MVC काफी स्पष्ट रूप से चमकदार छेद और खराब डिजाइन निर्णयों से भरा एक चमकदार ढांचा है। मैं अभी भी इस पार आया था। कौन जानता है, लेकिन मेरा धैर्य एमवीसी के साथ पतला है।
user9993

10
@BradThiessen RenderPartial()एक शून्य है, जिसका उपयोग करके @आप रेज़र को प्रिंट करने के लिए कहते हैं जो संभव नहीं है क्योंकि यह किसी भी आउटपुट सामग्री का उत्पादन नहीं करता है!
एस। सेरपोशन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.