0

わかりましたので、あるページで次の行を見つけました。

objDsCourse = SqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings("connstr").ConnectionString, CommandType.StoredProcedure, "Course_NewReportGet_Get_Sav", objPAra)

そして、それを別のページにコピーして、そこで機能するように変更を開始しました。

getData = SqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings("connstr").ConnectionString, CommandType.StoredProcedure, "Course_NewReportGet_Get_Sav", objPAra)

ただし、新しいページでは、呼び出し不可能なメンバー 'System.Configuration.ConfigurationManager.ConnectionStrings' はメソッドのように使用できないことを示す .ConnectionStrings に下線が引かれています... それでは、なぜ他のページで機能したのですか??

編集:OKなので、web.configで参照していると思われるものを見つけました

<add name="ConnStr" connectionString="data source=..." />

なぜ一方のページはこれにアクセスでき、もう一方のページはアクセスできないのでしょうか?

4

2 に答える 2

2

1 つのページが VB.NET を使用し、もう 1 つのページが C# を使用している可能性はありますか?

于 2009-03-23T19:01:18.993 に答える
0

私はダニエルに同意します。Visual Basic では、ディクショナリ オブジェクトとメソッドの両方がかっこを使用して参照されます。これにより、混乱が生じる可能性があります。

したがって、VB ではConfigurationManager.ConnectionStrings("connstr")、ディクショナリ内のキー「connstr」を持つ ConnectionString オブジェクトを指します。

C# では、ディクショナリ オブジェクトは角かっこ [] で参照されるためConfigurationManager.ConnectionStrings("connstr")、文字通り「"connstr" をパラメーターとして使用して ConfigurationManager オブジェクトのメソッド ConnectionStrings を呼び出す」ことを意味します。

簡単に言えば、上部の <%@ Page %> 宣言をチェックして、両方のページが同じ言語であることを確認してください。... または、エラーのあるページで、ConfigurationManager.ConnectionStrings["connstr"]構文を使用するように行を変更します。

于 2009-03-23T19:06:43.673 に答える