2

次の汎用ハンドラーで ASP.Net を使用しようとしましたが、次の場所でこのエラーが発生しますPage.RouteData

Reference to a non-shared member requires an object reference

私は何を間違っていますか?

<%@ WebHandler Language="VB" Class="MainHandler" %>

Imports System
Imports System.Web
Imports System.Xml


    Public Class MainHandler : Implements IHttpHandler, System.Web.SessionState.IRequiresSessionState

        Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

            Dim lng As String = Page.RouteData.Values("locale")

        End Sub

        Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
            Get
                Return False
            End Get
        End Property

    End Class

回答については、私は初心者であり、私の言語は VB.NET であることを覚えておいてください:) よろしくお願いします。

4

2 に答える 2

2
 Dim lng As String = HttpContext.Current.Request.RequestContext.RouteData.Values("locale")
于 2012-09-10T17:44:38.687 に答える
0

以下を試してください。ルートテーブルを取得して、そこから読み取る必要があります。

Dim rd AS RouteData
rd = RouteTable.Routes.GetRouteData(new HttpContextWrapper(context))

Dim val AS String
val = rd.Values["locale"].ToString()

ルーティングの詳細については、このリンクmsdnを参照してください。

于 2011-08-03T21:28:06.050 に答える