0

私はmailSenderクラスに取り組んでいます。System.Web.UI 名前空間の Server.MapPath メソッドを使用できません。この作業を行うには、どの参照を設定する必要がありますか? System / System.Web / System.Web.UI を参照しました。

これは私がチェックしたmsdnです。

4

3 に答える 3

1

この問題に遭遇する人々のために、私は自分の質問に答えますので、彼らは他のウェブサイトへのリンクをたどる必要はありません。Server.Mappathを使用する場合、DALまたはBLを使用するときにこれを行うことはできません。HttpContext.Currentプロパティを使用して、これらのオブジェクトにアクセスできます(コンテキストに応じて、その時点で使用可能であると想定しています)。このプロパティは、現在のコンテキストを提供します。 ただし、現在、DAL/BLをASP.NETに変換しようとしています。 したがって、この問題を修正するためにできることは、Code Behindのように、状況に応じた場所にServer.Mappathを配置することです。

GL!

于 2010-02-15T10:49:21.570 に答える
1

このページの TaylorMichaelL の回答をお読みください: The name 'Server' does not exist in the current context . これはあなたを助けるはずです。

ただし、より良いアプローチは、ターゲット フォルダーをメソッド引数として追加し、そこからパスを作成することです。そうすれば、クラスは Web 以外のコンテキストでも使用できるようになります。

于 2010-02-15T10:39:53.240 に答える
0

Server.MapPath は System.Web 名前空間にあります。

http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx

于 2010-02-15T10:28:55.333 に答える