asp.net – 如何添加.aspx页面到现有的MVC 4项目?
我有工作的ASP.NET MVC 4项目.我想添加到这个MVC项目的另一个WebForms项目的.aspx页面.我有几个问题: >我应该在哪里复制这个.aspx文件,我应该如何配置我的 我已经看过links贴在this的问题,但他们似乎已经过时了.很多链接解释了如何添加MVC到WebForms,但我正在寻找所有的方式. 任何有用的链接将不胜感激.谢谢! 解决方法解决方案:事实证明,将.aspx页面添加到现有的MVC项目中,比将.vx添加到.aspx更容易完成任务.对我来说最有趣的是找出在一个项目的范围内,Webforms和MVC都在IIS上共享一个运行时. 所以我做了什么 将另一个项目的.aspx页面添加到我的MVC项目的根目录 public class WebFormController : Controller { } public static class WebFormMVCUtil { public static void RenderPartial( string partialName,object model ) { //get a wrapper for the legacy WebForm context var httpCtx = new HttpContextWrapper( System.Web.HttpContext.Current ); //create a mock route that points to the empty controller var rt = new RouteData(); rt.Values.Add( "controller","WebFormController" ); //create a controller context for the route and http context var ctx = new ControllerContext( new RequestContext( httpCtx,rt ),new WebFormController() ); //find the partial view using the viewengine var view = ViewEngines.Engines.FindPartialView( ctx,partialName ).View; //create a view context and assign the model var vctx = new ViewContext( ctx,view,new ViewDataDictionary { Model = model },new TempDataDictionary() ); //render the partial view view.Render( vctx,System.Web.HttpContext.Current.Response.Output ); } } 将其添加到.aspx页面的codebehind.cs.那么你可以从webforms这样调用它: <% WebFormMVCUtil.RenderPartial( "ViewName",this.GetModel() ); %> >由于我只在所有页面中共享了“菜单”,所以我将其添加到部分视图中,然后在_Layout.chtml中调用它 @Html.Partial("_Menu") 并在MasterPage.Master中这样: <% WebFormMVCUtil.RenderPartial("_Menu",null ); %> 这就是它的一切.因此,我的_Layout.chtml和MasterPage.Master使用相同的共享部分视图.我可以通过浏览它们来访问.aspx页面.如果路由系统有一些问题,可以添加route.IgnoreRoute(“{resource} .aspx / {* pathInfo}”);到App_Start中的routeConfig. 我使用的来源: > Combine asp net mvc with webforms 我希望以后能帮助别人. (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – UserControl Viewstate在回发后丢失所有值
- 如何通过Asp.net WebAPI中的异常过滤器传递内容?
- asp.net-web-api – WebAPI:403在发布网站后被禁止
- asp.net – 在MVC3或IIS 7.5中禁用x-frame-options
- 用AJAX实现的无刷新的分页实现代码(asp.net)
- asp.net-mvc – Nhibernate / MVC:在View中处理延迟加载的
- 什么是在asp.net中301重定向更推荐的方法?
- asp.net-mvc – Windows 8 VS2012 IISExpress Windows身份验
- asp.net-mvc – 为什么我的视图模型中的内部成员无法在视图
- asp.net – __doPostBack在DotNetNuke网站上未定义为IE 10
- asp.net-mvc – 如何继承ASP.NET MVC控制器并仅更
- asp.net – 通过Web服务访问连接字符串
- asp.net-mvc-4 – 如何在Kendo UI Grid中扩展页面
- asp.net-core – 如何在Visual Studio 2015 RC中
- asp.net-mvc-4 – .net 4.5 ASP.Net web API JSO
- asp.net文件上传示例分享
- 如何使用WMD在ASP.NET中存储降价?
- asp.net – IIS Express(WebMatrix)打开外部连接
- asp.net-mvc – ASP.NET MVC jQueryUI datepicke
- asp.net – 在MVC3或IIS 7.5中禁用x-frame-optio