1

私は困惑しているだけで、何が起こっているのかわかりません。また、適切な質問の仕方が正確にわからないため、問題を調査するのにも苦労しています。これは誰にとっても簡単な質問ですが、あなたの答えは非常に高く評価されます!

次の要素を含むasp.netページがあります。

<a href="http://www.mysite.com?id=1">Link</a>

偉大な。

しかし、出力ページのリンクにカーソルを合わせると、ASP で何かが発生し、そのリンクは次の URL に移動します: http://www.mysite.com/?id=1

クエリ文字列の前に余分な「/」を追加します。どうすればこれを回避できますか? なぜこれが起こっているのか、私には直感的ではありません。これは web.config の問題ですか? 新しいプロジェクトを開始し、新しいページを作成して、その 1 つの要素を配置しただけでも発生します。

本当にありがとう!

また、さまざまなブラウザで発生するようです。

4

2 に答える 2

1

あなたがこれをしたいと思うかどうかはわかりません。

これはおそらく、URLを形成するための技術的に正しい方法であるために発生しています。RFC-1738を参照してください

HTTPURLの形式は次のとおりです。

  http://<host>:<port>/<path>?<searchpart>

ここで<host>、および<port>はセクション3.1で説明されているとおりです。:<port> 省略した場合、ポートのデフォルトは80になります。ユーザー名またはパスワードは
許可されません。 <path>はHTTPセレクターであり<searchpart>、クエリ
文字列です。<searchpart>とその
前の「?」と同様に、はオプションです。<path>も存在しない場合<searchpart>は、「/」も省略できます。

searchpartが存在するため、スラッシュが必要です。それがなくても動作する可能性がありますが、とにかくそこにあるはずです。

于 2012-04-13T22:42:14.333 に答える
1

そのスラッシュが必要です。クエリ文字列はドメインのすぐ後に続くことはできません。http://en.wikipedia.org/wiki/URL#Syntaxを参照

特定の URL ではパスが省略されていますが、ドメインの後に他に何もない場合を除き、ドメインとパスの間のスラッシュを省略できません。

于 2012-04-13T22:47:34.410 に答える