.NET 4.0 為 Web Forms 帶來 URL 路由原生支援、可擴展的快取提供者、HTML 編碼輸出運算式與資料篩選控制項 QueryExtender。
RouteTable.Routes.MapPageRoute 或 PageRouteHandler 整合路由。OutputCacheProvider 抽象類別,替換預設記憶體快取邏輯。<%: expression %>:等同 <%= HttpUtility.HtmlEncode(expression) %>,預防 XSS。using System.Web.Routing;
namespace AspDotNet
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add("myRoute", new Route("user/{userName}/{age}",
new PageRouteHandler("~/UrlRouting/Default.aspx")));
}
}
}
<asp:Literal runat="server" Text="<%$ RouteValue:userName%>" />
<asp:Literal runat="server" Text="<%$ RouteValue:age%>" />
並需在 web.config 註冊運算式建置器:
<expressionBuilders>
<add expressionPrefix="RouteValue" type="System.Web.Compilation.RouteValueExpressionBuilder" />
</expressionBuilders>
這些特性讓 Web Forms 具備 MVC 風格的乾淨 URL、更安全的輸出編碼、靈活的快取策略與聲明式資料篩選,現代化程度大幅提升。