Yeni jilet görüntüleme motorunu kullanarak bir parçayı oluşturmanın en iyi yolunun mümkünse ne olduğunu merak ediyordum. Bunun o zamana kadar tamamen bitmemiş bir şey olduğunu anlıyorum
Şu anda kullanıcı denetimini işlemek için RenderPage kullanıyorum:
@RenderPage("~/Views/Shared/LocaleUserControl.cshtml",ViewData.Model)
RenderPage'i çağıran sayfa, üç bölümün tanımlandığı bir düzen (ana) sayfası kullanır: TitleContent, HeadContent ve Maincontent. Yerel ayar kontrolümü bu sayfadan oluşturmaya çalıştığımda, bu bölümlerin de gerekli olduğu anlaşılıyor - bunlar yalnızca arama sayfasında gerekli olmalı ve mevcut. Kısmi görünümüme bölümleri dahil edip etmediğimden bağımsız olarak aşağıdaki iletiyi alıyorum (açıkçası bu bölümleri dahil etmek istemiyorum ama ilginç bir hata ayıklama noktası gibi görünüyordu ...).
Aşağıdaki bölümler tanımlanmış ancak '~ / Views / Shared / LocaleUserControl.cshtml' yerleşim sayfasında oluşturulmamış: TitleContent; HeadContent; Ana içerik
Kısmi görüşüm aşağıdaki gibidir (aşağıdaki bağlantıdan uyarlanmıştır ):
@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>