আমি ভাবছিলাম যে, যদি সম্ভব হয় তবে নতুন রেজার ভিউ ইঞ্জিন ব্যবহার করে আংশিক রেন্ডার করার সেরা উপায় way আমি বুঝতে পারি এটি এমন একটি বিষয় যা পুরোপুরি শেষ হয়নি
এখনই আমি ব্যবহারকারীর নিয়ন্ত্রণ রেন্ডার করতে রেন্ডারপেজ ব্যবহার করছি:
@RenderPage("~/Views/Shared/LocaleUserControl.cshtml",ViewData.Model)
রেন্ডারপেজ কলকারী পৃষ্ঠাটি তিনটি বিভাগ সংজ্ঞায়িত করে একটি বিন্যাস (মাস্টার) পৃষ্ঠা ব্যবহার করে: টাইটেলকন্ট, হেডকন্টেন্ট এবং মেইনকন্টেন্ট। আমি যখন এই পৃষ্ঠা থেকে আমার স্থানীয় নিয়ন্ত্রণ রেন্ডার করার চেষ্টা করি তখন দেখা যায় যে এই বিভাগগুলিও প্রয়োজনীয় - সেগুলি কেবল কলিং পৃষ্ঠায় প্রয়োজন হবে এবং উপস্থিত থাকবে। আমি আমার আংশিক দৃষ্টিভঙ্গিতে বিভাগগুলি অন্তর্ভুক্ত করি বা না করুক না কেন আমি নিম্নলিখিত বার্তাটি পেয়েছি (স্পষ্টতই আমি এই বিভাগগুলি অন্তর্ভুক্ত করতে চাই না তবে এটি একটি আকর্ষণীয় ডিবাগিং পয়েন্টের মতো মনে হয়েছিল ...)।
নিম্নলিখিত বিভাগগুলি সংজ্ঞায়িত করা হয়েছে তবে লেআউট পৃষ্ঠায় '~ / ভিউ / ভাগ / স্থানীয় / ব্যবহারকারীকন্ট্রোল.একটিএমটিএল' রেন্ডার করা হয়নি: টাইটেলকন্ট; হেডকন্টেন্ট; মূল
আমার আংশিক দৃষ্টিভঙ্গি নীচে দেওয়া হয়েছে (নিম্নলিখিত লিঙ্ক থেকে অভিযোজিত ):
@inherits System.Web.Mvc.WebViewPage<LocaleBaseModel>
@using System.Web.UI;
<p>
@Html.LabelFor(model => Model.CountryName)
<br />
@Html.DropDownListFor(model => Model.CountryName,null, string.Empty, new { @class = "text", accesskey="u"})
</p>
<p>
@Html.LabelFor(model => Model.StateProvince)
<br />
@Html.DropDownListFor(model => Model.StateProvince, null, string.Empty, new { @class = "text", accesskey="t" })
</p>
<script type="text/javascript">
$(function () {
var countries = $("#CountryName");
var statesprovinces = $("#StateProvince");
countries.change(function () {
statesprovinces.find('option').remove();
var url = '@Url.Action("GetStatesProvinces", "Base")';
$.getJSON(url, { countryId: countries.val() }, function (data) {
$(data).each(function () {
$("<option value=" + this.ID + ">" + this.Name + "</option>").appendTo(statesprovinces);
});
});
});
});
</script>