色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

不走尋常路:在WebForm中使用MVC

  問題場景:

  在改進博客園博客后臺的過程中,有一個頁面我們想用ASP.NET MVC來寫。但我們不想通過設置<modules runAllManagedModulesForAllRequests="true"/>使用System.Web.Routing來處理請求,因為不能確定這是否會與我們現有的URL重寫產生沖突。我們只是想用Razor爽一下。

  解決思路:

  不改變ASP.NET管線的請求處理流程,請求還是正常到達一個.ASPx頁面,然后再轉手給ASP.NET MVC。也就是把WebForm作為一個中轉站。

  好處:

  在現有項目中,以最小的代價用上ASP.NET MVC。先品嘗一下Razor的美味。

  解決方法:

  用System.Web.Mvc.MvcHandler可以輕松搞定,請看下面Home.ASPx的代碼:

<%@ Page Language="C#" AutoEventWireup="true" %>
<script runat="server">
protected override void OnInit(EventArgs e)
{
System.Web.Routing.RequestContext requestContext
= new System.Web.Routing.RequestContext();
requestContext.HttpContext
= new HttpContextWrapper(Context);
requestContext.RouteData
= new System.Web.Routing.RouteData();
requestContext.RouteData.Values.Add(
"controller", "Home");
requestContext.RouteData.Values.Add(
"action", "Index");
IHttpHandler handler
= new System.Web.Mvc.MvcHandler(requestContext);
handler.ProcessRequest(Context);
}
</script>

NET技術不走尋常路:在WebForm中使用MVC,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 团风县| 基隆市| 若尔盖县| 克拉玛依市| 乌恰县| 商都县| 修水县| 陈巴尔虎旗| 浦东新区| 扎兰屯市| 望谟县| 白玉县| 彩票| 霞浦县| 邮箱| 右玉县| 三穗县| 铜陵市| 广宁县| 彝良县| 青海省| 理塘县| 溆浦县| 阳西县| 龙泉市| 木兰县| 苗栗市| 南宁市| 涿鹿县| 六盘水市| 竹溪县| 睢宁县| 咸阳市| 新建县| 平凉市| 定日县| 辽阳市| 闻喜县| 五大连池市| 桂林市| 邻水|