這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)ASP.NET窗體和ASP.NET MVC在同一應(yīng)用中混合使用的示例分析,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)章貢,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
不是所有的ASP.NET MVC Web應(yīng)用程序都需要從頭創(chuàng)建,也許您希望將現(xiàn)有的ASP.NET應(yīng)用移植到ASP.NET MVC。在同一個應(yīng)用同時使用ASP.NE窗體和ASP.NET MVC可能嗎?答案是-完全可以。
在同一個應(yīng)用同時使用ASP.NE窗體和ASP.NET MVC不僅是可行的,而且是相當容易的,因為ASP.NET MVC是在ASP.NET基礎(chǔ)上構(gòu)建的框架。實際上它們僅有一個關(guān)鍵處不同:ASP.NET是在System.Web名稱空間下,而ASP.NET MVC在System.Web, System.Web.Routing, System.Web.Abstractions, 以及System.Web.Mvc四個名稱空間下,這意味著,在現(xiàn)有ASP.NET應(yīng)用程序中添加對這些庫(assemblies)的引用,是組合應(yīng)用這兩種技術(shù)的起步。
ASP.NET MVC在ASP.NET基礎(chǔ)上構(gòu)建的另外一個優(yōu)點是:應(yīng)用數(shù)據(jù)能夠很容易地在兩種技術(shù)間共享。例如,Session這個狀態(tài)對象在兩種技術(shù)下都可以使用,這樣使得通過Session狀態(tài)來高效地共享數(shù)據(jù)。
一個ASP.NET窗體應(yīng)用程序可以通過執(zhí)行以下步驟,成為一個ASP.NET MVC應(yīng)用程序。
1.在現(xiàn)有的ASP.NET應(yīng)用程序中,添加以下庫的引用:System.Web.Routing.dll, System.Web.Abstractions.dll, andSystem.Web.Mvc.dll;
2.在現(xiàn)有ASP.NET應(yīng)用程序中添加Controllers,Views,Views/Shared文件夾;
3.修改web.config文件,如下(注意是修改ASP.NET應(yīng)用程序現(xiàn)有的web.config,而不是覆蓋掉):
< ?xml version="1.0"?>
4.配置路由。往Global.asax中加入默認的ASP.NET MVC全局應(yīng)用程序類(Global Application Class)。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MixingBothWorldsExample { public class Global : System.Web.HttpApplication { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.IgnoreRoute("{resource}.aspx/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults ); } protected void Application_Start() { RegisterRoutes(RouteTable.Routes); } } }
請注意以下一行代碼,它防止ASP.NET窗體的請求被路由到ASP.NET MVC中:
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
以上四個步驟完成后,我們便可以開始添加ASP.NET MVC控制器和視圖了,例如:
using System.Web.Mvc; namespace MixingBothWorldsExample.Controllers { public class HomeController : Controller { public ActionResult Index() { ViewData["Message"] = "This is ASP.NET MVC!"; return View(); } } }
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="MixingBothWorldsExample.Views.Home.Index" %><%=Html.Encode(ViewData["Message"]) %>
上述就是小編為大家分享的ASP.NET窗體和ASP.NET MVC在同一應(yīng)用中混合使用的示例分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。