Je migre mon application de asp.net mvc vers mvc version 2 et j'ai le problème suivant.ActionScript ASP.NET MVC 2 rupture après la migration de MVC version 1
J'ai des liens de radiomessagerie < < <> >> que j'inclus dans chaque page. Comme si:
<% Html.RenderPartial("PagingControl", Model); %>
Ils existent dans un fichier ascx comme suit.
<%@ 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>
Lorsque je tente d'accéder à la page que je reçois l'erreur:
CS0173: Type d'expression conditionnelle ne peut être déterminée parce qu'il n'y a pas de conversion implicite entre « System.Web.Mvc.MvcHtmlString » et ' chaîne '
L'erreur est marquée ci-dessus et semble être avec le lien d'action. Y compris le nom du contrôleur n'aide pas. Des idées?
Merci beaucoup. Notez qu'il devrait être MvcHtmlString.Create ("<<") bien que vous ne puissiez pas créer un nouveau MvcHtmlString en utilisant le constructeur. – Alistair
Juste une note que vous pouvez également ajouter '.ToString()' à 'Html.ActionLink (...)' afin d'obtenir une chaîne correcte. Dans ce cas, vous n'avez pas besoin de créer un nouveau MvcHtmlString pour le "<<" du côté faux de ce ternaire ... – Funka