0

http://trade.businessbazaar.inというサブドメインがあります。私はこの方法でデータベースからURLを動的に作成しています http://trade.businessbazaar.in/mycompany。詳細を表示するために、そこにindex.aspxファイルがあります。リクエストごとに、index.aspxページがデータをロードして表示することを考えています。また、index.aspxページにマスターページがあり、そこからテキストmycompanyをキャプチャし、データベースでクエリして結果を取得しています。しかし、何も機能していないようです。

本物のリンクはhttp://trade.businessbazaar.in/Symparlifeです。しかし、index.aspxをロードできません。サードパーティのdllやリライタを使用しないクリーンなアプローチが必要です。configのいくつかの行を直接プッシュして、作業を開始します。つまり、URLは同じですが、インデックスページが読み込まれます...

要するに、私は言いたいです

ページをフェッチするには、StackOverflowタイプのクリーンURLメカニズムが必要です

前もって感謝します

4

1 に答える 1

1

Global.asax で Begin_Request イベントを処理し、カスタム コードを追加して index.aspx にリダイレクトし、URL の一部をクエリ文字列引数に変換できます。Server.Transfer を使用して URL をブラウザーに保持する必要があります。

ただし、4.0 にアップグレードして Routing エニンを使用することをお勧めします。標準ルーティングが ASP.NET 3.5 のダウンロードとして利用できるかどうかを確認する必要があります。あなたのコードはすぐに乱雑になると確信しています。そこに行って、それをしました。

@Mike Miller がコメントで言及しているように、ルーティング エンジンには ASP.NET 3.5 が付属しています。ここでドキュメントを確認できます - http://msdn.microsoft.com/en-us/library/system.web.routing(v=vs.90).aspx

これを Web フォームで使用する方法に関するチュートリアルを次に示します。 -2010-and-net-4-0-series.aspx

あなたの場合、コードは次のようになります。

routes.MapPageRoute("company-index", "/{company}", "~/index.aspx")

また、index.aspx では、次のように会社のルート値にアクセスできます。

string company = (string)Page.RouteData.Values["company"];

実際の引数 (会社名) の前に、URL に何かを追加した方がよいことに注意してください。そうしないと、"/Login" のような URL を追加したい場合があるため、後で問題が発生しますが、ユーザーが "Login" という名前の会社を作成できないことを検証する必要があります。URLの実際の質問情報の前にStack Overflowが「/ question /」を持っている方法ではありません。

于 2012-05-01T13:22:36.003 に答える