Yeni jilet görüntüleme motorunu kullanarak kısmi bir işlem yapmanın en iyi yolunun ne olduğunu merak ediyorum. Biliyorum bu kullanıcı denetimi işlemek için RenderPage kullanıyorum Şu an zamanınJiletli görünüm motoru - Kısmi Görünümleri nasıl ekleyebilirim
tamamen bitmiş değildi şeyi anlamak:
@RenderPage("~/Views/Shared/LocaleUserControl.cshtml",ViewData.Model)
sayfa RenderPage üçüyle bir düzen (ana) sayfasını kullanır çağıran Tanımlanan bölümler: TitleContent, HeadContent ve Maincontent. Yerel denetimimi bu sayfadan oluşturmaya çalıştığımda, bu bölümlerin de gerekli olduğu anlaşılıyor - bunlar yalnızca arama sayfasında ve mevcut durumda olmalıdır. Kısmi görünümümdeki bölümleri dahil edip etmediğime bakmadan aşağıdaki iletiyi alıyorum (açıkçası bu bölümleri eklemek istemiyorum ama ilginç bir hata ayıklama noktası gibi görünüyordu).
sonraki bölümlerde
tanımlanan olmuştur ama düzen sayfasını hale edilmemiştir '~/Görüntüleme/Paylaşılan/LocaleUserControl.cshtml': TitleContent; HeadContent; aşağıdaki gibi mainContent
Benim kısmi görünümü (aşağıdaki link uyarlanmıştır) olduğu:
@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>
Geri bildiriminiz için teşekkür ederiz ... Html.EditorFor bu örnekte iyi bir fikir olabilir - ama daha karmaşık örnekler için durum böyle olmadığı için alternatifleri görmek isterim - kesinlikle çalışırım yakında tekrar bu içine. Html.Partial ViewPage veya ViewUserControl türetmesi gerektiğinden çalışmaz, jilet kısmi WebViewPage'den gelir ... –
Html.Partial mükemmel çalışır. Razor görünüm motorunu kullanarak Visual Studio'da yeni bir ASP.NET MVC 3 projesi başlatın, 'Paylaşılan' klasöründeki '_Layout.cshtml' dosyasını açın ve 'WebViewPage'den türetilen' _LogOnPartial.cshtml' dosyasının nasıl eklendiğini kontrol edin. bitti (Html.Partial kullanarak).Yani hayır, kısmi 'html.Partial' çalışmak için' ViewPage' veya 'ViewUserControl' türetmek gerekmez. –
Hmmm, doğru gibi gözüküyor. Ayrıca, bazı hata ayıklama yaptığım anlaşılıyor. Teşekkürler! –