0

Url.Actionが正しいローカルホストを指していないという問題があります。誰かがこれを修正する方法を教えてもらえますか?

同じ情報が「Html.ActionLink」でも正常に機能します

@<li>@Html.ActionLink(cattext, "Topic", "Tutorial", New With {.categorypassed = "INTRO"}, vbNull)</li>

のリンクを返します:

http://localhost:62510/Tutorial/Topic?categorypassed=INTRO

しかし、この情報を「Url.Action」として使用すると:

<a data-role="button" data-transition="fade" href="@Url.Action("Topic", "Tutorial", New With {.categorypassed = "INTRO"}, vbNull)" data-icon="arrow-l" data-iconpos="left">Back</a>

偽のローカルホストを返します。

1://localhost/Tutorial/Topic?categorypassed=INTRO
4

1 に答える 1

0

最後の引数 vbNull を省略します。

この引数を使用すると、"http" や "https" などの URL のプロトコルを指定するメソッド オーバーロードが呼び出されます。Null は有効なオプションではありません。おそらく、出力に「1://」が表示されるのはそのためです。Web サーバーは異なるポート番号でプロトコルを処理するため、プロトコルを変更すると URL のポートも変更されます。

これは、探している URL.Action のオーバーロードのようです。

Public Function Action ( _
    actionName As String, _
    controllerName As String, _
    routeValues As RouteValueDictionary _
) As String
于 2012-05-31T17:27:11.970 に答える