0

私のURLは次のとおりです。

{コントローラー}/{アクション}/{id}

この例では、次のようになります。

ブログ/編集/2

私のコードでは、次のようにIDパラメーター(「2」)を取得しようとしています。

' get route
Dim routeData = httpContext.Request.RequestContext.RouteData
' get id
Dim id = If(String.IsNullOrEmpty(routeData.Values("id") = False), routeData.Values("id").ToString, Nothing)

ただし、値が空であると言っています。次のステートメントは、何らかの理由でtrueを返します。

If String.IsNullOrEmpty(id) = True Then

IDの値を取得してNULL(またはVB.NETでは「Nothing」)にならないようにするにはどうすればよいですか?

4

2 に答える 2

1

解決策は、IsNullorEmptyメソッドの使用方法を変更することでした。

    ' get id
    Dim id = If(String.IsNullOrEmpty(routeData.Values("id")), Nothing, routeData.Values("id").ToString)

    ' if no id is set, check to see if the user owns the requested entity (company or blog)
    If String.IsNullOrEmpty(id) Then
于 2012-08-07T15:24:30.220 に答える
1

それは何も返さなかった。

元の投稿には次のように書かれていますString.IsNullOrEmpty(routeData.Values("id") = False)-閉じ括弧が間違った場所にあるため、String.IsNullOrEmptyは常にfalseを返します。代わりにを書くべきString.IsNullOrEmpty(routeData.Values("id")) = Falseでした。

(VBでは、"xyz" = false暗黙的にに変換され"False"ます。)

于 2012-08-07T15:32:16.763 に答える