2011-11-10 27 views
11

benim dinamik web sınıf için bir MVC3 app inşa ediyorum atma ve kısmi işlemek için çalışırken edilir aşağıdaki hatayı alıyorum:ASP.NET MVC3 @ Html.RenderPartial CS1502 hatası

CS1502: iyi

<div> 
    <h2>Shipping Address</h2> 
    @Html.RenderPartial("_AddressPartial"); 
</div> 

: bazı geçersiz argümanlar Şimdi

'System.Web.WebPages.WebPageExecutingBase.Write (System.Web.WebPages.HelperResult)' yöntemi maçı vardır aşırı, ben yürütme ediyorum kod budur Şimdi, bunu googled ettik ve gördüğüm kadarıyla, cevaplar daha eski sürümleri için MVC ve <%%> stil sözdizimi kullanıldı ve System.Web hataları alıyorum System.Web hata yerine aldım. Yine de onların tavsiyelerini takip ettim ve noktalı virgül olmadan denedim ve her defasında hala YSOD'u aldığımdan farketmedim. Herhangi bir fikir?

+0

olmuştur Web.Config mı herhangi bir şekilde değiştirildi mi? –

+0

Web.Config sadece aksi takdirde '@ {Html.RenderPartial ("_ AddressPartial") kullanarak projeyi – berwyn

cevap

26

Bu, 'un değerini döndürmemesinden kaynaklanabilir. Ya deneyin:

@Html.Partial("_AddressPartial") 

veya

RenderPartial herhangi bir değer (sadece RenderAction yöntemi gibi) iade etmediğini
@{ Html.RenderPartial("_AddressPartial"); } 
+2

oluştururken oluşturulan biridir bir DB bağlantı dizesi ve kredi kartı işlemcisi için bir API anahtarı için modifiye edilmiş; } 'sürümü çalıştı! Teşekkürler bir ton! – berwyn

6

Bildirim, bu istek üzerine çıktı yazar. Kısmi (Action yöntemi gibi) MvcHtmlString'in dönüş değeri.
SO @Html ... @ {... bazı kodlar ...} için gerekli değildir. Senin durumunda
Eğer RenderPartial kullanmak istiyorsanız bunu böyle kullanın:

@{Html.RenderPartial("_AddressPartial");} 

Ama neden böyle kullanabileceğiniz Kısmi yöntemi kullanmayın:

@Html.Partial("_AddressPartial")