Ответ 1
Это может быть просто потому, что RenderPartial
ничего не возвращает. Попробуйте либо:
@Html.Partial("_AddressPartial")
или
@{ Html.RenderPartial("_AddressPartial"); }
Я создаю приложение MVC3 для своего динамического веб-класса, и, пытаясь сделать частичный, я получаю следующую ошибку:
CS1502: наилучшее перегруженное соответствие метода для "System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)" содержит некоторые недопустимые аргументы
Теперь код, который я выполняю, следующий:
<div>
<h2>Shipping Address</h2>
@Html.RenderPartial("_AddressPartial");
</div>
Теперь я искал это в googled, и из того, что я видел, ответы все для более старых версий MVC и использовали синтаксис стиля <%% > и получили ошибки System.IO, а не System.Web ошибка, которую я получаю. Я все-таки следовал их советам и старался и без точки с запятой, что не имело никакого значения, поскольку я все еще получал YSOD каждый раз. Любые идеи?
Это может быть просто потому, что RenderPartial
ничего не возвращает. Попробуйте либо:
@Html.Partial("_AddressPartial")
или
@{ Html.RenderPartial("_AddressPartial"); }
Обратите внимание, что RenderPartial не возвращает никакого значения (подобно методу RenderAction), он записывает вывод в запрос. а Partial (как и метод Action) возвращает значение MvcHtmlString.
SO @Html... должен вернуть некоторое значение, а @{... некоторый код...} не обязательно.
В вашем случае, если вы хотите использовать renderPartial, используйте его так:
@{Html.RenderPartial("_AddressPartial");}
Но почему бы не использовать Partial-метод, который вы можете использовать так:
@Html.Partial("_AddressPartial")