【解決方法】VB を使用して ASP.NET ページのクエリ文字列 (IF、SELECT CASE など) の値を評価できません

プログラミングQA


こんにちは、みんな

VB を使用した ASP.NET ページがあり、Android アプリケーションから QueryString のいくつかのパラメーターを受け取り、いくつかの計算を実行します。次に例を示します。

HTML
http://192.168.100.0:8080/pagina.aspx?med=120

ページの背後にあるコードでは次のようになります。

VB
Dim strMedida As String = Request.QueryString("med")

strMeasure の値を出力すると、リクエストで渡された値が表示されます。

VB
Context.Response.Write("La medida es: " & strMedida)

測定値は次のとおりです: 120

しかし、何らかの操作を実行するために IF や SELECT CASE などを使用して変数を評価する場合、それは実行されません。 例:

VB
Dim strRes as String
    Select Case strMedida
        Case "100"
            strRes = "La medida es Sencilla"
        Case "120"
            strRes = "La medida es Semi"
        Case "140"
            strRes = "La medida es Doble"
        Case Else
            strRes = "No hay medida"
    End Select

そして、strRes の値を出力すると、strMeasure に情報がないかのように表示されます。 Request.QueryString(“med”) で評価した場合も同じことが起こります。

VB
Context.Response.Write(strRes)
「ターミナル」
No hay medida

ご助力ありがとうございます

私が試したこと:

QueryString の各パラメータをクラス、値を直接返す関数として作成しようとしましたが、成功しませんでした。

ご助力ありがとうございます

解決策 1

データを生成するアプリやその応答にアクセスできないため、わかりません。 そして、何が起こっているのかを解明するにはデータへのアクセスが不可欠です。

推測では、アプリに返される値は「120」ではなく、先頭または末尾に空白類 (タブ、スペース、改行) が含まれているため、比較された文字列と一致しない可能性があります。
私は使うだろう Integer.TryParse[^] 文字列を盲目的に受け入れて比較するのではなく、文字列を数値に変換して比較します。

コメント

タイトルとURLをコピーしました