Tôi đang cố gắng triển khai trang MVC Razor _Layout.cshtml sử dụng Điều khiển người dùng WebForm ascx (không phải MVC). Tôi đang làm điều này dựa trên phần "Có" của bài viết này của Scott Hansleman "Trộn Razor Views và WebForms Master Pages với ASP.NET MVC 3" http://www.hanselman.com/blog/MixingRazorViewsAndWebFormsMasterPagesWithASPNETMVC3.aspxSử dụng điều khiển người dùng ASP.NET ASCX cũ trong chế độ xem MVC Razor
Bài viết nói cách sử dụng cùng một điều khiển người dùng ascx trong cả hai trang web.Masterform cũng như trang MVC Razor _Layout.
Từ những gì tôi đã đọc elsewhere on Stackoverflow có thể sử dụng điều khiển người dùng ascx cũ (cũng như điều khiển máy chủ webform ASP.NET) trong trang MVC. Sử dụng dòng sau nên làm cho sự kiểm soát ascx người dùng trong Razor _Layout tôi:
@{ Html.RenderPartial("~/UserControls/WebUserControl1.ascx"); }
Tuy nhiên, đó ném lỗi:
The view at '~/UserControls/WebUserControl1.ascx' must derive from ViewPage,
ViewPage<TModel>, ViewUserControl, or ViewUserControl<TModel>.
Tôi cũng đã cố gắng dưới đây với kết quả tương tự:
@Html.Partial("~/UserControls/WebUserControl1.ascx")
Tôi thiếu gì ở đây?
hơi gây hiểu lầm, miễn là bạn cập nhật UX thành kế thừa ViewUserControl bạn ổn ... http: //stackoverflow.com/questions/6538869/mvc3-razor-is-it-possible-to-render-a- legacy-ascx –
@BobTodd: Theo "usercontrols ASP.Net cổ điển", tôi có nghĩa là postbacks và ViewState, sẽ không hoạt động. – SLaks