Я столкнулся несколько различных исключений с этим блоком кода в одном из моих взглядов:ASP.NET MVC2 встроенный код в поле зрения - микширование теги
<% if (Model.Book.ReviewReference == null)
{%>
<%=Html.ActionLink("Rate/review this book", "Create", "Review", null, new { id = "reviewLink" }) %>
<% Html.RenderPartial("CreateReview");
}
else
{%>
<%= Html.ActionLink("Edit this book's rating/review","Edit", "Review", new { reviewID = Model.Book.ReviewID}, new {id = "reviewLink"}) %>
<% Html.RenderPartial("EditReview", Model.Book.Review, new ViewDataDictionary());
} %>
Первая ошибка я столкнулся была описана здесь: link text
таким образом Html.RenderPartial("EditReview", Model.Book.Review, new ViewDataDictionary())
вы видите к концу там.
Еще одна проблема, которую я столкнулся это когда, если условие вычисляется для ReviewReference
, который на самом деле null
, заявление еще до сих пор как-то достигли, а второй частичный вид делает неудачную попытку оказать себя.
Я использовал эти чередующиеся теги встроенного кода неверным образом? Как идти взад и вперед между <% %>
и <%= %>
правильно?
спасибо.
Edit:
ОК, я отметил ответ слишком рано. Я просто попробовал его с заданным кодом из ответа, и этот блок еще оценивается и пытается передать нулевые объекты в частичный вид ... черт его.
Doh! :) Приветствую Роберта! –
Хорошо, спасибо за то, что выпрямили меня на этом. Почему те закрывающие теги нужны, не имеют для меня никакого смысла. Вероятно, поэтому я обманул его для начала. – asfsadf
Это чертовски много тегов, теперь, когда я снова смотрю на это. Sheesh! – asfsadf