Tôi đang di chuyển ứng dụng của mình từ asp.net mvc sang mvc phiên bản 2 và đang gặp vấn đề sau.Phá vỡ liên kết hành động ASP.NET MVC 2 sau khi di chuyển từ phiên bản MVC 1
Tôi có liên kết trang < < <> >> mà tôi đưa vào mỗi trang. Giống như vậy:
<% Html.RenderPartial("PagingControl", Model); %>
Chúng tồn tại trong tệp ascx như sau.
<%@ 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>
Khi tôi cố gắng truy cập vào trang tôi nhận được lỗi:
CS0173: Loại biểu thức điều kiện không xác định được vì không có chuyển đổi ngầm giữa 'System.Web.Mvc.MvcHtmlString' và ' string '
Lỗi được đánh dấu ở trên và dường như có liên kết hành động. Bao gồm tên bộ điều khiển không giúp ích gì. Bất kỳ ý tưởng?
Cảm ơn bạn rất nhiều. Lưu ý rằng nó phải là MvcHtmlString.Create ("<<") mặc dù vì bạn không thể tạo một MvcHtmlString mới bằng cách sử dụng hàm tạo. – Alistair
Chỉ cần lưu ý rằng bạn cũng có thể nối '.ToString()' vào 'Html.ActionLink (...)' để nhận chuỗi thích hợp. Trong trường hợp đó, bạn sẽ không cần phải tạo một MvcHtmlString mới cho "<<" ở bên giả của ternary đó ... – Funka