色尼玛亚洲综合影院,亚洲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,轉載需保留來源!

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

主站蜘蛛池模板: 施甸县| 许昌县| 万年县| 新田县| 紫金县| 长武县| 包头市| 徐闻县| 崇信县| 重庆市| 芒康县| 五河县| 特克斯县| 曲松县| 巫溪县| 瑞丽市| 崇礼县| 盐边县| 宾川县| 姚安县| 合水县| 北宁市| 富蕴县| 锦屏县| 兴仁县| 阜南县| 锡林郭勒盟| 金川县| 大兴区| 樟树市| 无极县| 泗阳县| 醴陵市| 崇明县| 通山县| 攀枝花市| 永善县| 区。| 岱山县| 金堂县| 平顶山市|