প্রকারের অকার্যাকে বস্তুতে রূপান্তর করতে পারে না। .NET এমভিসি আংশিকভিউ ফলাফল


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>

ব্যক্তিগতভাবে আমি প্রথমটিকে পছন্দ করি, কম কীস্ট্রোক করি।


4
ধন্যবাদ. সেখানে মজাদার সিনট্যাক্স। আমি ধরে নিই যে <% html এর পরিবর্তে <% এইচটিএমএল করার এটি ক্ষুরধার উপায়? অ্যাকশন এবং রেন্ডারাকশন এর মধ্যে পার্থক্য কীভাবেই হোক। ফিল হ্যাক বলেছেন রেন্ডারঅ্যাকশন আরও দক্ষ?
মিঃব্লিজ

4
@ ডুজার ১৯৯৯, হ্যাঁ, এটাই রেজার উপায়।
দারিন দিমিত্রভ

এটিও কাজ করে: t এইচটিএমএল.রেন্ডার অ্যাকশন (এমভিসি.মেটিংএজিংস.লিস্টএকশনস (মডেল।
ফ্রেনকিবি


36

আমারও একই প্রশ্ন ছিল. কি আমার জন্য কাজ মত প্রকাশের এটি encapsulate হয় কোঁকড়া বন্ধনী

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


এটি আমার পক্ষে কাজ করেছে, তবে কার্লিং বন্ধনী যুক্ত করার ফলে কেন কাজ হবে তা আমার কোনও ধারণা নেই। আপনি কি এ সম্পর্কে বিস্তারিত বলতে পারেন?
ব্র্যাড থিয়েসন

4
@ ব্র্যাডথিসেন এটি কাজ করে কারণ এএসপি.এনইট এমভিসি বেশ স্পষ্টতই একটি চমকপ্রদ কাঠামো, যা স্পষ্টভাবে গর্ত এবং দুর্বল নকশার সিদ্ধান্তে পূর্ণ। আমি ঠিক এটি জুড়ে এসেছি। কে জানে, তবে আমার ধৈর্য এমভিসির সাথে পাতলা পরা।
ব্যবহারকারী 9993

10
@ ব্র্যাডথিসেন RenderPartial()একটি অকার্যকর, @আপনি এটি ব্যবহার করে রেজারটি মুদ্রণের জন্য ব্যবহার করেছেন যা কোনও আউটপুট সামগ্রী তৈরি করে না বলে এটি সম্ভব নয়!
এসস্পার্পোশন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.