Я переношу свое приложение из asp.net mvc в mvc version 2, и у меня есть следующая проблема.ASP.NET MVC 2 actionlink после миграции из MVC версии 1
У меня есть пейджинговые ссылки < < <> >>, которые я включаю в каждую страницу. Вроде так:
<% Html.RenderPartial("PagingControl", Model); %>
Они существуют в файле ascx следующим образом.
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<BankingDB.Controllers.Utility.IPagedSortedObject>" %>
<div class="paging">
<div class="previous-paging">
<!- error!! -><%= Model.HasPreviousPage ? Html.ActionLink("<<", "Index", Model.buildParams(1)) : "<<"%>
<%= Model.HasPreviousPage ? Html.ActionLink("<", "Index", Model.buildParams(Model.PreviousPageIndex)) : "<"%>
</div>
<div class="paging-details">
Showing records <%= Model.BaseRecordIndex %> to <%= Model.MaxRecordIndex %> of <%= Model.TotalRecordCount %>
</div>
<div class="next-paging">
<%= Model.HasNextPage ? Html.ActionLink(">", "Index", Model.buildParams(Model.NextPageIndex)) : ">"%>
<%= Model.HasNextPage ? Html.ActionLink(">>", "Index", Model.buildParams(Model.PageCount)) : ">>"%>
</div>
</div>
При попытке открыть страницу, я получаю ошибку:
CS0173: Тип условного выражения не может быть определена, поскольку не существует неявное преобразование между «System.Web.Mvc.MvcHtmlString» и ' string '
Ошибка указанно выше и отображается как связанная с этим ссылка. Включение имени контроллера не помогает. Есть идеи?
спасибо. Обратите внимание, что это должно быть MvcHtmlString.Create ("<<"), хотя вы не можете создать новую MvcHtmlString с помощью конструктора. – Alistair
Просто обратите внимание, что вы также можете добавить '.ToString()' в 'Html.ActionLink (...)', чтобы получить нужную строку. В этом случае вам не нужно создавать новую MvcHtmlString для «<<» на ложной стороне этого тройного ... – Funka