Ich migriere meine Anwendung von asp.net mvc zu mvc Version 2 und habe das folgende Problem.ASP.NET MVC 2 actionlink bricht nach der Migration von MVC Version 1
Ich habe Paging-Links < < <> >>, dass ich auf jeder Seite enthalten. Wie folgt:
Sie existieren in einer Ascx-Datei wie folgt.
<%@ 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>
Wenn ich versuche, die Seite, die ich den Fehler zuzugreifen:
CS0173: Art des bedingten Ausdrucks kann nicht bestimmt werden, weil es keine implizite Konvertierung zwischen ‚System.Web.Mvc.MvcHtmlString‘ und ' Zeichenfolge '
Der Fehler ist oben markiert und scheint mit dem Aktionslink zu sein. Das Einschließen des Controllernamens hilft nicht. Irgendwelche Ideen?
Vielen Dank. Beachten Sie, dass es MvcHtmlString.Create ("<<") sein sollte, da Sie mit dem Konstruktor keinen neuen MvcHtmlString erstellen können. – Alistair
Nur ein Hinweis, dass Sie auch '.ToString()' an den 'Html.ActionLink (...)' anhängen können, um eine richtige Zeichenfolge zu erhalten. In diesem Fall müssten Sie keinen neuen MvcHtmlString für das "<<" auf der falschen Seite dieses Ternärs erstellen ... – Funka