2010-11-25 9 views
0

"〜/ default.aspx"ページを持たないWebアプリケーションを作成する場合は、開始ページを "〜/ Pages/MyStartPage.aspx"に設定します".net Web Application set start page by code

私は開始ページプロパティがIISで設定することができることを知っている、あるいは我々はプロジェクト - >プロパティ - > Webベースへ行く>とするときの起動アクションを設定するには、「特定のページ」=ページ/ MyStartPage.aspx

これらのオプションは私がコードで行う必要があるので私には適していません。

web.configには、私が変更できるクラスまたは設定がありますか?

おかげで、 マキシム

+0

Project-> Properties-> Webの2番目のオプションは、デバッグセッションの開始ページにすぎません。サイトまたはデバッグWebサーバーのプロパティではありません。 – Rup

+0

あなたは、コードでIISのドキュメントリストを再構成したいと以下で言いました。 IISのどのバージョン? IIS 7ではメタベースのアクセスメカニズムが変更されました。どこから変更したいのですか?Webサイトのコードから変更しますか?あなたのサイトはどんなユーザーで実行されていますか?IISメタベースを編集する権限はありますか? – Rup

答えて

0

私はあなたの唯一のオプションは、他のページへResponse.Redirectを生成些細なDefault.aspxページを作成することだと思います。

問題はIISがアプリケーションに開始URLを要求しないことです。代わりに、あなたのアプリケーションに対してリストの最初のものを試します。だから、私はあなたのアプリケーション内でこれを設定できるとは思わない。

ディスクにファイルが存在するかどうかにかかわらず、ASP.NETにすべての要求を渡すようにサイトが設定されている場合(つまり、IISでのワイルドカードマッピング)、おそらくglobal.asaxとrouteの元の〜/そこにはコードがあります。しかし、IISで自分でデフォルトのドキュメントを設定できない場合は、どちらかを設定することができないかと思います。ワイルドカードマッピングを設定することは、あまりにも一般的には、

+0

IISが保持するこのリストに値を追加する方法がないのは確かですか?これは私が探しているものです... – Maxim

+0

ああ、プログラムでIISの設定を変更したいですか?申し訳ありませんが、誤解されていました。あなたのホスティングプロバイダなどでIIS設定を変更する権限がないと思っていました。これはより一般的なので、私はQにコメントします。 – Rup

0

これをDefault.aspxに入れるのはどうですか?

protected void Page_Load(object sender, EventArgs e) 
{ 
    this.Response.Redirect("~/Pages/MyStartPage.aspx"); 
} 

ご希望の場合はServer.Transferをご利用ください。あなたは心が欲しいならば、人々をさまざまな場所に送るために、派手なスイッチングロジックを使うことさえできます。

+0

私はDefault.aspxページを持っておらず、リダイレクトだけを目的とするページを作成したくありません。別のオプションがありますか? – Maxim

+0

いいえ、作成してください。既に却下したIIS構成を更新するだけでなく、最も簡単で信頼性の高い方法です。 – batwad