ฉันสงสัยว่าถ้าเป็นไปได้วิธีที่ดีที่สุดในการแสดงผลบางส่วนโดยใช้เครื่องมือมุมมองมีดโกนใหม่ ฉันเข้าใจว่านี่เป็นสิ่งที่ยังไม่เสร็จสมบูรณ์ตามเวลา
ตอนนี้ฉันใช้ RenderPage เพื่อแสดงการควบคุมผู้ใช้:
@RenderPage("~/Views/Shared/LocaleUserControl.cshtml",ViewData.Model)
เพจที่เรียกใช้ RenderPage ใช้เพจเลย์เอาต์ (ต้นแบบ) ที่มีการกำหนดสามส่วน: TitleContent, HeadContent และ Maincontent เมื่อฉันพยายามที่จะแสดงผลการควบคุมโลแคลของฉันจากหน้านี้ดูเหมือนว่าส่วนเหล่านี้จำเป็นด้วย - ควรจำเป็นในหน้าการเรียกเท่านั้นและจะปรากฏอยู่ ฉันได้รับข้อความต่อไปนี้ไม่ว่าฉันจะรวมส่วนต่างๆไว้ในมุมมองบางส่วนของฉันหรือไม่ (เห็นได้ชัดว่าฉันไม่ต้องการรวมส่วนเหล่านี้ แต่ดูเหมือนว่าจะเป็นจุดดีบักที่น่าสนใจ ... )
มีการกำหนดส่วนต่อไปนี้ แต่ยังไม่ได้แสดงผลในหน้าเค้าโครง '~ / Views / Shared / LocaleUserControl.cshtml': TitleContent; HeadContent; เนื้อหาหลัก
มุมมองบางส่วนของฉันมีดังนี้ (ดัดแปลงจากลิงค์ต่อไปนี้):
@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>